我有一个名为 FMS.DOMAIN 的 project.json 的 asp.net 5 (vNext) 项目。其中一个参考资料是名为 FMS.DAL 的 dotNet 4.51 项目。
这适用于除一台以外的所有机器。在一台机器上找不到这个 dotNet 4.51 项目。我认为它正在公共 nuget 服务器上寻找它。
当我执行“dnu restore”时,我看到:
C:_Workspaces\MyProject\MyProject\FMS.Domain\project.json CACHE https://www.nuget.org/api/v2/FindPackagesById()?id= 'FMS.DAL' 无法找到依赖项 FMS.DAL >= 1.0。
这是来自 FMS.Domain 的 project.json。
{
"version": "1.0.0-*",
"description": "FMS.Domain Class Library",
"authors": [ "ctcrrmcidmc" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dnx451": {
"dependencies": {
"FMS.DAL": "1.0.0-*"
}
}
},
"dependencies": {
"AutoMapper": "4.1.1",
"FMS.Common": "1.0.0-*"
}
}
它如何知道何时搜索 nugget 以及何时使用本地项目?对“FMS.Common”的引用:“1.0.0-*”也是一个本地项目,它正在工作(但它是 vNext)。
如果我们直接使用“添加引用”上下文菜单引用了 DLL,我们确实让它工作了。这会生成一个与手动编辑看起来相同但有效的 project.json 编辑。它一定是在做别的事情。
更多信息: 我吹走了我的工作区并从 TFS 获得了新鲜的代码。我在我的机器上遇到了问题。我看到“dnu restore”出现此错误:
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id= 'FMS.DAL' 无法定位依赖 FMS.DAL >= 1.0.0
它在 nuget.org 而不是我的项目中寻找 FMS.DAL。我从 project.json 中删除了依赖项并保存,然后通过右键单击引用并选择项目引用将其添加回来。它被添加回 project.json 并且看起来与我删除它之前完全相同。我再次运行“dnu restore”,它工作正常。
唯一未决的更改是在 project.json 中,当我与 TFS 进行比较时,没有任何区别。然后我对整个解决方案进行了撤消挂起的更改,“dnu restore”仍然有效。