已导入System.Runtime和具有等效标识的多个程序集

时间:2016-12-09 11:47:31

标签: c# .net visual-studio msbuild

在我的案例中,我无法弄清楚如何解决这个问题。

  

导入了具有等效标识的多个程序集:   ' d:\ TfsBuild \代理\ Company.Framework \ c57207ab \ X \ Y \ DOTNET的\包\ System.Runtime.4.3.0 \ lib中\ net462 \ System.Runtime.dll'   和' C:\ Program Files(x86)\ Reference   大会\微软\ Framework.NETFramework \ v4.6.2 \外立面\ System.Runtime.dll&#39 ;.   删除其中一个重复的引用。

我转到受影响的项目文件后,会找到System.Runtime.dll的唯一引用:

<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
  <Private>True</Private>
</Reference>

发生了什么?

2 个答案:

答案 0 :(得分:1)

将代码提交到自动部署到Azure的GitHub时遇到此错误。我的情况的解决方案是在NuGet包之后添加以下内容:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

无论出于何种原因,Azure构建过程都没有使用Visual Studio 2017使用的相同过程。因此,这个hack似乎解决了这个差异。

答案 1 :(得分:0)

希望问题是我的开发和构建机器之间的Visual Studio 2015版本不匹配。

虽然我的开发机器正在成功构建整个解决方案,但我的TFS Build失败了。在深入研究这个问题之后,我发现我的开发机器已经安装了Visual Studio 2015 Update 3 ,而构建机器的Visual Studio 2015完全没有更新。

将我的构建计算机更新到Visual Studio 2015解决了这个问题!