Dynamics CRM 2011 SDK : Windows Server 2012 及び Windows 8 上で SDK サンプルを利用する際の注意

みなさん、こんにちは。

今日は開発者の方向けの情報として、Windows Server 2012 及び
Windows 8 上で SDK サンプルを利用する際の注意点を紹介します。

元記事: How to build and run the Dynamics CRM SDK samples on Windows Server 2012 and Windows 8

=========================================================

Windows Sever 2012 または Windows 8 上で Microsoft Dynamics CRM 2011
SDK のマネージコードサンプルコンパイル時にエラーが出る場合があります。

エラー: 'Microsoft.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse'
does not contain a definition for... Could not resolve this reference. Could not locate
the assembly "Microsoft.IdentityModel"

また、他環境でコンパイル済みの実行ファイルを利用した場合、以下のエラー
が出る場合があります。

エラー: System.IO.FileNotFoundException was unhandled by user code HResult=
-2147024894 Message=Could not load file or assembly 'Microsoft.IdentityModel,

原因は Windows Identity Foundation 3.5 から 4.5 に更新された際、名前空間や
メソッドなどいくつかの変更が入ったためです。対処は以下の通りです。

1. Windows Server 2012 または Windows 8 上でコマンドプロンプトまたは
PowerShell を管理者として起動します。

2. 以下のコマンドを実行して、WIF 3.5 をインストールします。

dism /online /enable-feature:windows-identity-foundation

※ Windows Server 2012 の場合は役割と機能の追加から、Windows 8 の
場合は Windows 機能の有効化/無効化からでもインストール可能です。

3. サンプルのコンパイルを実行して、エラーが出ないことを確認します。

Windows Azure サンプル

Windows Azure のサンプルの場合、前提条件である Azure SDK 1.8 以降
をインストールした後、Microsoft.ServiceBus.dll の参照を一旦削除した後
再度参照を追加しなおしてください。

WIF 3.5 と WIF 4.5

WIF 3.5 から WIF 4.5 の変更点や移行する場合のガイドラインは以下の
リンクを参照してください。

WIF 3.5 でビルドされたアプリケーションを WIF 4.5 に移行するためのガイドライン
https://msdn.microsoft.com/ja-jp/library/jj157089.aspx

=========================================================

‐ Dynamics CRM サポート 中村 憲一郎