Azure SDK 1.6 と 1.7 の同居は危険

http://stackoverflow.com/questions/11223243/azure-website-missing-msshrtmi-when-built-on-and-deployed-from-tfs

Team Foundation Service を使っていればよかったのですが、今まで手元で動作していた CruiseControl.NET 環境で Azure SDK 1.6 / 1.7 同居させた状態でビルドさせようとしたところ、動作しないパッケージが作成されるように。

最初に問題が発生したのは Azure SDK 1.6 で作成していた従来のコード、Azure 用のプロジェクトについては 1.7 へのアップグレードを Visual Studio から実施することで解決した。

問題は、Azure にデプロイしないが、AzureStorageに対してクライアントアクセスをするようなプロジェクトで、以下のような例外が発生するようになった。

ファイルまたはアセンブリ ‘Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

[FileNotFoundException: ファイルまたはアセンブリ 'msshrtmi, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。]

最終的には動作させる環境でAzure関連のライブラリをすべてアンインストールし、Web Platform Installer 4.0 より改めてインストールする対応をした。
途中 Nuget でパッケージを追加&DLLをローカルコピーなどの対応をしたが改善せず、はっきりとした原因は分からなかった。昔のDLL Hell よりは解決しただけましだが、バージョン依存の問題はいつも悩ましい。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。