我有一个引用this NuGet package.的项目。该程序包有多个框架引用(例如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)\参考程序集\ 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,但我不确定还需要检查什么。
答案 0 :(得分:0)
我在构建服务器上安装了Visual Studio 2015 Update 3,现在项目构建没有问题。不幸的是,我不太确定是什么更改可以修复错误。