Microsoft Dynamics CRM Plugin Registration Tool による Plugin の更新について

みなさん、こんにちは。

今回は Dynamics CRM において、Plugin Registration Tool を利用し、既存のプラグインを更新する際に、
以下のエラー メッセージが発生し、更新が失敗する場合があります。
本投稿では何故エラーとなってしまうか、またその際の対処策についてご案内いたします。

エラー内容 errormessage errordetail

- エラー メッセージ抜粋
Plug-in assembly does not contain the required types or assembly content cannot be updated (Error Code -2147204725)

原因と対処策について
本エラー発生には複数の原因がありますが、主に以下 3 点が発生の条件となります。

1. プラグイン アセンブリ メタデータを変更してしまっている場合
プラグイン の Major バージョン、Minor バージョン、Name、PublicKeyToken、Culture 属性が変更された場合、本エラーが発生いたします。

更新後の プラグイン アセンブリのバージョンを更新前のバージョンに合わせるためには、Visual Studio で該当プラグイン プロジェクトを開き、アセンブリ情報ダイアログの 「アセンブリ バージョン」を変更することでアセンブリ バージョンを変更できます。
アセンブリ情報ダイアログの詳細については以下の弊社技術情報を確認ください。

方法 : アセンブリ情報を指定する (Visual Basic、C#)
https://msdn.microsoft.com/library/vstudio/ts8eta17

[アセンブリ情報] ダイアログ ボックス
https://msdn.microsoft.com/ja-jp/library/vstudio/1h52t681

また、PublicKeyToken は開発環境の キーファイル が変わった場合に変更される値です。
開発環境で使用しているキーファイル が、既存環境に存在するプラグインをビルドした際と同一であるか、確認することを推奨します。

キーファイルとアセンブリの署名については以下の弊社技術情報を確認ください。
方法 : 厳密な名前でアセンブリに署名する
https://msdn.microsoft.com/ja-jp/library/xc31ft41.aspx

2. 既存環境に存在するプラグインに比べ、更新するアセンブリのクラス数が少ない場合やクラス名が変更されていた場合

3. 入力または出力の引数を持つカスタム ワークフロー アクティビティがプラグインに含まれている場合に、その引数が変更されていた場合

尚、上記いずれのケースにおいても、該当アセンブリを Unregister してから、アセンブリを再登録することで対処は可能です。状況に応じお試しください。

– 早坂 圭弘
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。