2017-05-31 61 views
0

我有一个测试公用事业项目(称之为Utilities.Test),指定在其project.json文件中的NuGet包的发展依赖:如何通过project.json浮动版本防止开发依赖项的扩散?

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

我包Utilities.Test作为NuGet包并尝试使用它在测试应用程序(叫它MyProject.Test),在MyProject.Testproject.json文件中指定的版本为浮动值:

{ 
    "dependencies": { 
    "utilities.test": { 
      "version": "*", 
      "type": "build" 
     } 
    }, 
    "frameworks": { 
    "net45": {} 
    }, 
    "runtimes": { 
    "win": {} 
    } 
} 

当我这样做,我得到了编译ERR以下或者:"Unable to resolve devdep (>= x.x.x) for .NETFramework, Version=4.5"。我发现两种方法来解决这个问题:在MyProject.Testproject.json文件

  • 包括devdep作为参考(浮动版),以及。
  • MyProject.Testproject.json文件中指定Utilities.Test的具体版本号。

这两种解决方案都不是可以接受的。我认为将软件包指定为开发依赖关系的重点在于防止将其作为安装依赖项进行捕获。在使用浮动版本时,如何防止devdep作为依赖项被扩散?

回答

0

我解决了这个问题,将<developmentDependency>true</developmentDependency>添加到的nuspec文件中。这已经在.nuspec文件中为devdep指定,所以我不清楚为什么这不足以防止其扩散。现在还完全不清楚project.json"type": "build"标签的用途是什么 - 欢迎对这两个问题有所了解。

+0

感谢您在这里分享您的解决方案,您可以将其标记为答案,这样可以帮助其他社区成员获得相同的问题。 –

相关问题