NuGet:如何在多个解决方案中保持包版本一致?

Bin*_*ier 14 nuget visual-studio-2012

我们正在构建一组服务,每个服务都有自己的解决方案和相关项目.其中许多服务依赖于相同的NuGet包.
所有解决方案都启用了"包恢复".

一些解决方案涉及其他解决方案所拥有的程序集,这是我们需要所有解决方案来引用完全相同版本的不同NuGet包的一个明显原因.

所有服务需要协同工作才能达到最终结果.它们作为单个产品的一部分进行打包和安装,这是我们希望所有内容都运行相同版本的NuGet包的另一个原因

我们无法在解决方案之间保持包版本一致.

目前我们手动检查和更新软件包版本,我们也偶尔会遇到编译错误,因为一个解决方案中的项目最终会引用相同软件包的不同版本.

是否有推荐的方法(希望是一个自动过程)?
如果没有Package Restore,我们会更好吗?
有人对这个问题有任何一般性建议吗?

谢谢

更新:我在NugGet项目http://nuget.codeplex.com/workitem/2623上为此创建了一个问题

akt*_*ton 5

要解决这个问题:

  1. 创建您自己的私有NuGet服务器(请参阅12),该服务器托管您使用的正确版本的软件包.
  2. 配置每个构建系统以使用该服务器并自动更新到最新版本.

虽然这需要服务器,但它不仅可以确保每个人都拥有正确的版本,还可以加快构建服务器的下载速度.