用于MVC3的Nuget版本控制 - > 4扩展库:隐藏或不隐藏以前的版本?

时间:2012-05-22 08:41:10

标签: visual-studio-2010 versioning nuget

我在Asp.Net MVC 3的公司nuget服务器上有一个扩展包 - 假设包ID当前为Acme.Mvc,其版本为2.x

我现在已经对该项目进行了分支,并将针对MVC 4 Beta推出相同软件包的预发布版本。现在,从逻辑上讲,这是库的版本3.x;但是,一旦我发布它(一旦它不再预发布),2.x将不再出现在VS'用户界面中;这可能会导致其他开发人员将其添加到他们的MVC 3项目中;并且拒绝他们在不使用控制台的情况下轻松访问旧版v2.x库的任何未来升级。

在其他几个案例中,我更改了套餐ID以包含Acme.Mvc.3版本,因此新老版本可以并排放置。唯一的问题是,有人可能尝试包括两者!还有一个稍微迂腐的问题,即称v3.x不一定正确;因为它是一个新包装。

另外,我真的需要能够维护两个流。我可以依赖MVC 4站点中的Binding Redirects,它仍然引用了面向MVC 3的库的版本;因为我的扩展都不依赖于已经消失的东西。

当我看到公共nuget饲料;我很少见到在包ID中粘贴主要版本的做法,但是真的有其他选择吗?

1 个答案:

答案 0 :(得分:0)

有许多现有的软件包使用MVC版本作为其命名约定的一部分来区分支持的版本: WindowsAzure.WebRole.MVC3 Unity.Mvc3 Spark.Web.Mvc2 Spark.Web.Mvc3 ...

“唯一的问题是,有人可以尝试包括两者!”

我不打算试图阻止这种情况,包装名称似乎显而易见,两者并不是并排的。