Microsoft Dynamics CRM 2011 RTM から UR6 にアップグレードすると、4.0 プラグインまたはワークフロー アセンブリが中断されます

この記事では、2011 RTM から Update Rollup 6 にアップグレードするときに、4.0 プラグインまたはワークフロー アセンブリを中断する破損した web.config ファイルの解決策Microsoft Dynamics CRM提供します。

適用対象: Microsoft Dynamics CRM 2011
元の KB 番号: 2705840

現象

Microsoft Dynamics CRM 2011 RTM から Update Rollup 6 に直接アップグレードした後、プラグインまたはワークフロー アセンブリを使用してMicrosoft Dynamics CRM 4.0 データベースをインポートすると、web.config から必要なセクションが削除される可能性があります。

次のようなエラーが表示されます。

System.InvalidCastException: Microsoft Dynamics CRMエラーが発生しました。 管理者またはサポートの参照番号: #7A680103: System.InvalidCastException: 'Publisher.Plugins.AutonumberPlugin' 型のオブジェクトをキャストして'Microsoft.Crm.Sdk.IPlugin' と入力できません。

または

Crm 例外: メッセージ: プラグインの種類を読み込むことができません: Publisher.Plugins.AutonumberPlugin+AccountCreate, ErrorCode: -2147204720、InnerException: System.IO.FileLoadException: ファイルまたはアセンブリ 'Microsoft.Crm.Sdk, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。 配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULT からの例外: 0x80131040)
ファイル名: 'Microsoft.Crm.Sdk, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly アセンブリ, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack 型)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at Microsoft.Crm.Extensibility.PluginTypeFactory.LoadType(String qualifiedTypeName, Assembly assembly)

または

未処理の例外: System.ServiceModel.FaultException'1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: プラグインの種類を読み込むことができません: PlugInName:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode-2147204720>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<プラグインの種類を読み込むことができないというメッセージ>: PlugInName
<タイムスタンプタイムスタンプ>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>

原因

これは、web.config ファイルが破損していることが原因で発生します。

解決方法

次のタグの直後に、下のセクションを Microsoft Dynamics CRM web.config ファイルに挿入します。

</システム。診断>

注:

Microsoft Dynamics CRM web.configの既定の場所は C:\Program Files\Microsoft Dynamics CRM\CRMWeb または C:\inetpub\Microsoft Dynamics CRM\CRMWebです。

このセクションを追加します。

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Crm.Sdk" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="4.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

空のランタイム タグがある場合は、それを削除し、新しいセクションに置き換えます。

注:

CRMAppPool をリサイクルするため、営業時間後にこれを行うことをお勧めします。