我有一个测试公用事业项目(称之为Utilities.Test
),指定在其project.json
文件中的NuGet包的发展依赖:如何通过project.json浮动版本防止开发依赖项的扩散?
{
"dependencies": {
"devdep": {
"version": "*",
"type": "build"
}
},
"frameworks": {
"net45": {}
},
"supports": {},
"runtimes": {
"win": {}
}
}
我包Utilities.Test
作为NuGet包并尝试使用它在测试应用程序(叫它MyProject.Test
),在MyProject.Test
project.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.Test
project.json
文件
- 包括
devdep
作为参考(浮动版),以及。 - 在
MyProject.Test
project.json
文件中指定Utilities.Test
的具体版本号。
这两种解决方案都不是可以接受的。我认为将软件包指定为开发依赖关系的重点在于防止将其作为安装依赖项进行捕获。在使用浮动版本时,如何防止devdep
作为依赖项被扩散?
感谢您在这里分享您的解决方案,您可以将其标记为答案,这样可以帮助其他社区成员获得相同的问题。 –