visual-studio-2012 - NuGet : How to keep package versions consistent across several solutions?

标签 visual-studio-2012 nuget

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

一些解决方案引用了其他解决方案拥有的程序集,这就是为什么我们需要所有解决方案都引用不同 NuGet 包的完全相同版本的一个明显原因。

所有服务都需要协同工作以实现最终结果。它们作为单个产品的一部分进行打包和安装,这是我们希望所有东西都运行在相同版本的 NuGet 包的另一个原因

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

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

是否有推荐的方法(希望是自动过程)?
如果没有包还原,我们会更好吗?
有人对此主题有任何一般性建议吗?

谢谢

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

最佳答案

要解决这个问题:

  • 创建您自己的私有(private) NuGet 服务器(参见 12),托管您使用的包的正确版本。
  • 配置每个构建系统以使用该服务器并自动更新到最新版本。

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

    关于visual-studio-2012 - NuGet : How to keep package versions consistent across several solutions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12492474/

    相关文章:

    asp.net-mvc - 无法在 Visual Studio Express 2012 for Web 中创建 ASP.NET MVC 项目

    google-api - 无法在 Visual Studio 2010 Express 或更高版本上安装包 Google.Apis.Auth.Mvc

    visual-studio-2012 - TFS 电动工具安装错误 : no Side-by-side

    azure - Azure 上的包还原失败

    .net - 如何使用功能切换 Nuget 包在 .Net Core 中启用功能切换?

    nuget - 在 Linqpad 中更改 nuget 包位置

    github - VS2019 的 Nuget 包源 : global nuget. 配置?

    visual-studio-2012 - Visual Studio 2012 Dff 工具只显示一个文件

    c# - 无法启动 IIS Express

    visual-studio - 为什么我不能在 Visual Studio 中编译 Apache Cordova 项目?