c# - 与 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,我不确定还要检查什么。
解决方案
我在构建服务器上安装了 Visual Studio 2015 Update 3,现在项目构建没有问题。不幸的是,我不完全确定修复错误的更改是什么。
推荐阅读
- laravel - Laravel `orWhereIn` 使 `whereNotIn` 不生效
- python - 如何在 json 中使用正则表达式匹配键
- react-native - 获取sectionlist头组件的Y值
- excel - 在 Excel 中使用 MAX IF 搜索文本段
- mongodb - 如何在 mongodb 查询中计算 avg、median、min、max?
- php - 在一个 php 文件中的两个位置打印相同的代码两次
- php - 需要帮助连接 2 个插件,最好的方法是什么
- angular - 如何在具有不同用户名的角度项目中安装 mobiscroll?
- sql - SQL Server 中的按列总计
- mysql - 如何查询非重复行但保留主键