2017-04-01 9 views
0

私は2つのプロジェクトを言うWeb APIのソリューションを持っています。これらのプロジェクトのそれぞれは、Microsoft.WindowsAzure.Storageアセンブリの異なるバージョンを参照しています。また、ソリューションには別のバージョンのストレージが参照されています。WebApi複数のプロジェクトがそれぞれ異なるWindowsAzureを持つSoln.Storageバージョン参照

ソリューションを配備すると、soln \ binディレクトリに1つのバージョンのストレージアセンブリ(solnによって参照される)のみが存在します。

したがって、実行時に次のエラーが発生しています。

System.IO.FileLoadException: Could not load file or assembly 'Microsoft.WindowsAzure.Storage, Version=8.1.1.0 

本当にありがとうございました。

+0

app.configにバインディングリダイレクトを追加することを検討してください。https://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx –

答えて

0

私が知る限り、同じプロジェクトに異なるバージョンの参照を追加することはできませんでした。 同じプロジェクトで異なるバージョンの参照を解決する唯一の方法は、「アセンブリのバージョンのリダイレクト」を使用することです。 この方法で、すべての異なるバージョンの参照をすべて同じバージョンのアセンブリにリダイレクトさせることができます。

webconfigファイルで設定できます。以下のように

<dependentAssembly> 
     <assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-8.1.1.0" newVersion="7.1.2.0" /> 
     </dependentAssembly> 

これは、すべてのMicrosoft.WindowsAzure.Storageは(あなたのWeb APIプロジェクトにインストールされている)7.1.2.0にリダイレクトさせることを意味します。

さらに、異なるバージョンのazurestorage SDKではいくつかの違いがあります。 たとえば、新しいバージョンでは1つのメソッドが削除されました。

通常、すべてのプロジェクトの同じバージョンを使用します(使用する場合)。 3つのプロジェクトすべてでコードを確認し、同じバージョンのAzureストレージSDKを使用することをお勧めします。

関連する問題