我的一个项目解决方案在我安装了 VS 2013 的系统上运行良好。但是当我在 VS 2015 中的另一个系统上打开同一个项目时,它给出了这个引用错误:
Error CS1703 Multiple assemblies with equivalent identity have been imported: 'D:\src\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll' and 'C:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\System.IO.dll'. Remove one of the duplicate references.
项目文件引用包文件,但在 VS 中打开时,它会自动转换为框架库路径。我无法卸载 BCL 包,因为它依赖于其他包。
编辑:
为什么该解决方案在一个版本的 Visual Studio 中构建良好,但在另一个版本中却出现多个程序集错误?
有没有办法解决这个问题,使其适用于不同的版本?
我也有这个问题,但是他的解决方案在 VS 2017 中完美构建,但不能在 VS 2015 中构建。
最佳答案
此错误通常在 NuGet 包具有无效依赖项时出现,但情况并非如此,因为在其他版本的 Visual Studio 中一切正常。
首先,您可以强制重新安装所有 NuGet 包。这可以通过打开 Package Manager Console
并键入以下内容来完成:
Update-Package -reinstall
此问题的第二个最常见的解决方案是确保将 Visual Studio 更新到最新版本(在本例中为 Visual Studio 2015 Update 3)。如果这没有帮助,请尝试在该设备上完全重新安装 Visual Studio。最后 - 您可以尝试在另一台 PC 上安装 Visual Studio 2015,以验证这是否确实是该版本的问题,或特定于 PC 的问题。
关于c# - VS 2015 已导入具有相同标识的多个程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42898227/