如何使用project.json浮动版本防止开发依赖项的扩散?

时间:2017-05-31 15:39:51

标签: .net visual-studio nuget project.json

我有一个测试实用程序项目(称之为Utilities.Test),它在其project.json文件中将nuget包指定为开发依赖项:

{
  "dependencies": {
    "devdep": {
        "version": "*",
        "type": "build"
    }
  },
  "frameworks": {
    "net45": {}
  },
  "supports": {},
  "runtimes": {
    "win": {}
  }
}

我将Utilities.Test打包为nuget包,并尝试在测试应用程序中使用它(称之为MyProject.Test),并将版本指定为MyProject.Test {{1中的浮动值文件:

project.json

当我这样做时,我收到以下编译错误:{ "dependencies": { "utilities.test": { "version": "*", "type": "build" } }, "frameworks": { "net45": {} }, "runtimes": { "win": {} } } 。我找到了两种解决问题的方法:

  • 同时在"Unable to resolve devdep (>= x.x.x) for .NETFramework, Version=4.5" devdep文件中包含MyProject.Test作为参考(包含浮动版本)。
  • project.json Utilities.Test文件中指定MyProject.Test的具体版本号。

这些解决方案都不可接受。我认为将包指定为开发依赖项的全部意义在于防止将其作为安装依赖项捕获。在使用浮动版本时,如何防止project.json作为依赖项扩散?

1 个答案:

答案 0 :(得分:0)

我通过将<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id='app'/>添加到<developmentDependency>true</developmentDependency>的nuspec文件中解决了这个问题。这已经在Utilities.Test的.nuspec文件中指定,所以我不清楚为什么这不足以阻止其扩散。现在还完全不清楚devdep"type": "build"标签的用途是什么 - 欢迎对这两个问题有任何见解。