Azure SDK 1.8を使用しており、ローカルで正常に動作しています。 TFSホストビルドコントローラーを使用してAzureに展開しています。
以前は正常に機能していましたが、Azure sdk dllのバージョンは変更されていませんが、突然このエラーが発生しましたが、オンラインではこのエラーが発生しました。これは、新しいSDKでTFSビルドコントローラーがアップグレードされたためですか?そして、このビルドが毎回成功しているという奇妙なことです。
TFSビルドサービスで、v2.0のsdkを参照している理由を見つけました。
Could not load file or Assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located Assembly's manifest definition does not match the Assembly reference. (Exception from HRESULT: 0x80131040)
他のすべてが失敗し、正しいDLLがビンにデプロイされている場合、web.configにアセンブリバインディングリダイレクトを追加してみてください。
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="2.0.0.0" newVersion="1.8.0.0" />
</dependentAssembly>
必要に応じて、バインディングバージョン番号を変更します。
これは、参照を2.0から2.2に更新したが、Web構成で参照されているバージョン2.0 dllがまだあったために起こりました。
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
これは、2.3.0.0にアップグレードしたときに起こりました。
それを修正するには、参照に行きました-> dllを右クリック->プロパティをクリック-> copy localをtrueに設定します。
私はあなたとまったく同じ問題にぶつかったと思います(正しく覚えていれば)。 1.8 SDKには、古いStorageClient
dllへの参照が含まれていました。プロジェクトに参照を追加してみてください:
Microsoft.WindowsAzure.StorageClient version 1.7.0.0
これが役立つかどうか教えてください!