首页 > 解决方案 > 与 NuGet 系统引用的多个程序集冲突

问题描述

我有一个引用这个 NuGet 包的项目。该包有几个框架参考(例如,System.Collections)。我的项目以 .NET Framework 4.6.2 为目标,我在构建机器上安装了 .NET 4.6.2 目标包。

当我在 Visual Studio 中安装 NuGet 包时,它还会安装所有框架包的依赖项,所以我packages.config最终看起来像这样

<packages>
  <package id="CommandLineParser" version="2.3.0" targetFramework="net462" />
  <package id="System.Collections" version="4.3.0" targetFramework="net462" />
  <package id="System.Console" version="4.0.0" targetFramework="net462" />
  <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net462" />
  <package id="System.Globalization" version="4.0.11" targetFramework="net462" />
  <package id="System.IO" version="4.1.0" targetFramework="net462" />
  <package id="System.Linq" version="4.1.0" targetFramework="net462" />
  <package id="System.Linq.Expressions" version="4.1.0" targetFramework="net462" />
  <package id="System.Reflection" version="4.1.0" targetFramework="net462" />
  <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net462" />
  <package id="System.Reflection.TypeExtensions" version="4.1.0" targetFramework="net462" />
  <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="net462" />
  <package id="System.Runtime" version="4.1.0" targetFramework="net462" />
  <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net462" />
</packages>

我读到这是因为该包以 .NET Standard 为目标,即使它们存在于机器上,它也会自动导入所有这些包。

到目前为止,一切都很好,我可以在我的机器上构建项目。但是,在构建服务器上,我收到以下错误

CSC:错误 CS1703:已导入具有等效标识的多个程序集:'C:\Jenkins\jobs\MyProject\workspace\packages\System.Runtime.Extensions.4.1.0\lib\net462\System.Runtime.Extensions.dll'和“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.2\Facades\System.Runtime.Extensions.dll”。删除重复引用之一。

构建服务器还安装了 .NET 4.6.2 目标包。此外,在我的开发机器上,我也有文件

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\Facades\System.Runtime.Extensions.dll

以及所有其他外观系统文件。

所以我的问题是,为什么这在我的构建服务器上失败了?似乎安装了所有相同版本的 .NET,我不确定还要检查什么。

标签: c#.netvisual-studionuget

解决方案


我在构建服务器上安装了 Visual Studio 2015 Update 3,现在项目构建没有问题。不幸的是,我不完全确定修复错误的更改是什么。


推荐阅读