将NuGet与多个版本树一起使用的正确/可接受方式是什么?我们有一个2.12版本的产品,并且它正在不断地工作,生成属于主要数字2的更新版本。与此同时,我们还在3.5版本中积极地使用其他功能集和模式。如果我使用相同的NuGet包ID,默认情况下用户将始终获得3.5版本。
我应该为每个主要项目版本创建不同的包ID吗?
答案 0 :(得分:5)
根据您的情况,我看到两种可能的解决方案。您可以使用不同的软件包ID,也可以通过手动编辑packages.config文件来限制客户端使用特定的版本范围。
在packages.config中,您可以设置version constraint:
<packages>
<package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" />
</packages>
这将使客户端获得最新的2.x版本,但永远不会升级到3.x版本。
答案 1 :(得分:1)
此页面:http://nuget.codeplex.com/wikipage?title=Pre-Release%20Packages应该可以帮助您。简而言之,标记为2.12
的包将被归类为稳定的,但是带有字母的版本,例如3.5beta
被视为预发布版本,只能使用–Prerelease
标记进行安装。