0

我有一个名为 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”仍然有效。

4

0 回答 0