【问题标题】:Compilation Errors / DNX Multiple References / Nuget Lock File Errors编译错误/DNX 多引用/Nuget 锁定文件错误
【发布时间】:2016-05-14 17:38:51
【问题描述】:

在此代码的 版本运行良好的机器上,将同一项目的新版本从源代码控制中提取出来,运行 nuget 包还原(写入 project.lock.json 文件) ,然后尝试构建这样的输出错误:

Error   CS1703  
Multiple assemblies with equivalent identity have been imported: 
'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\System.Runtime.dll' and 
'C:\Users\[username]\.dnx\packages\System.Runtime\4.0.0\ref\dotnet\System.Runtime.dll'. 
Remove one of the duplicate references.     

我明白它想告诉我什么,System.Runtime.dll 被导入了两次。我不明白的是如何让 Visual Studio 2015 修复它。

我能在项目中找到的唯一区别在于project.lock.json 文件。将工作项目与非工作项目进行比较显示了这样的结果。工作文件在左边:

所以,据我了解,右侧的错误锁定文件告诉 NuGet 尝试使用新的 .NET Core 内容,而左侧的锁定文件说“使用 .NET Framework 4.5”?

该项目正在使用“ASP.NET 5 RC1 Update 1”。我也对此感到困惑,ASP.NET 5 应该使用新的 .NET Core 东西而不是“Framework 4.5”?如果是这种情况,那么“不正确”的锁定文件对我来说似乎是正确的,因为它的目标是“ref/dotnet”?

将工作中的project.lock.json 文件复制到非工作文件上可以构建项目,但这不是我书中问题的解决方案。导致这种情况发生的这个项目或机器环境是什么?某处的某些东西需要卸载?安装了吗?变了吗?

编辑以包含 project.json:

{
  "version": "1.0.0-*",
  "description": "Model Class Library",
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "frameworks": {
    "net451": { }
  },
  "dependencies": {
    "EntityFramework.Core": "7.0.0-rc1-final",
    "System.ComponentModel.Annotations": "4.0.11-beta-23516"
  }
}

【问题讨论】:

    标签: c# visual-studio visual-studio-2015 asp.net-core dnx


    【解决方案1】:

    试试这个:

    • 删除您的 project.lock.json 文件。
    • 在 cmd 提示符或 powershell 窗口中,运行 dnvm use 1.0.0-rc1-final
    • 在同一个powershell窗口中,导航到项目的根目录并运行dnu restore

    我怀疑工作 project.lock.json 文件是针对与 1.0.0-rc1-update1 不同的运行时版本构建的。

    【讨论】:

    • 我曾经/使用过1.0.0-rc1-update1,而不是1.0.0-rc1-final。它“起作用”是因为它重建了锁定文件,但最终结果与 Visual Studio 自己完成的结果相同。我认为这个项目是 ASP.NET 5 之前创建的,然后升级了....所以这就是为什么它似乎需要锁定文件中的旧引用。
    • @FirstDivision 了解。在这种情况下,也许你应该分享你的 project.json。
    • 我为其中一个项目添加了项目 json。这是一个非常简单的,只包含项目其余部分的共享模型类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 2019-04-03
    • 2012-08-13
    • 1970-01-01
    相关资源
    最近更新 更多