2016-11-08 7 views
0

私は、Entity Framework Core 1.0.1を使用するASP.NET 4.6.2アプリケーションで作業しています。アプリケーションはローカルで正常に構築され、動作しますが、TFS 2015 Update 3は壊れた状態でビルドして展開します。少なくとも1つ(私が今知っている)必要なアセンブリは古いバージョンで上書きされます。TFSビルドが不適切なバージョンのアセンブリを上書きしています

System.Collections.Immutable 1.2.0。 EFが必要です。しかし、1.2.0がbinフォルダにコピーされた後のビルドログでは、別のバージョン(1.1.37.0)がbinにコピーされていることがわかります。これは、Microsoft.Net.Compilers.1.3.2パッケージからコピーされ、新しいバージョンを上書きします。

アプリケーションを実行すると、1.2.0が表示され、代わりに1.1.37が検出されます。次に、このエラーがスローされます。

Could not load file or assembly 'System.Collections.Immutable, 
Version=1.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 
or one of its dependencies. The located assembly's manifest 
definition does not match the assembly reference. 
(Exception from HRESULT: 0x80131040) 

これを防ぐ手段はありますか?

+0

あなたのビルド定義を共有してもらえますか? Nugetを使用してSystem.Collections.Immutable 1.2.0パッケージをインストールしますか? –

+0

私はそれが既知の問題であり、返信を更新しましたので、それが有用かどうかを確認してください。 –

答えて

1

this websiteによると、これは既知の問題であり、この問題はMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.2で利用できるはずです。

http://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

修正プログラムが動作しない場合は、あなたがMicrosoft.CodeDom.Providers.DotNetCompilerPlatformパッケージを更新することでこの問題を解決することができ、結合リダイレクトソリューションは現在、最も簡単な回避策です。

<dependentAssembly> 
    <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.1.36.0" /> 
</dependentAssembly> 

その他の便利なリンク:

関連する問題