如何更新多个项目的Nuget包?

时间:2018-02-14 15:45:30

标签: c# visual-studio nuget

我正在阅读这本书" ASP.NET MVC使用C#"。在运行本书的第一个示例项目并发现它不起作用之后,大约30分钟的同事帮我解决了问题,我们了解到Nuget软件包已经过时了。右键单击引用,并更新包,它工作正常。大概一分钟。但问题是,大约有200个示例项目;手动参加他们所有人都会非常乏味和耗时。

这引出了我的问题:Visual Studio中是否有办法向所有解决方案或所有未来解决方案或任何此类解决方案添加包?或者,是否可以更新所有Visual Studio的包?

这不是要求第三方工具建议或任何其他异地资源。此外,已有2个答案,这两个答案都不是工具建议。

2 个答案:

答案 0 :(得分:0)

将所有项目添加到解决方案中。然后在Visual Studio的Solution Explorer中右键单击Solution节点,选择" Manage NuGet packages for Solution"。 NuGet Package Manager将会打开。在“更新”选项卡上,只需单击几下即可更新所有项目的每个包; “合并”选项卡显示不同项目使用不同版本号的包的位置,您还可以从那里更新包:

enter image description here

您还可以通过此窗口的“浏览”选项卡将新包安装到所有项目。这是一个很棒的工具。

另见:

答案 1 :(得分:0)

另一种方法是使用文本编辑器或shell来查找和替换要批量更新的包引用。

对于在Visual Studio 2015及更早版本中创建的项目以及在Visual Studio 2017中使用某些模板创建的项目,必须为每个项目更改两个文件:*.csproj项目文件(example)和packages.config Nuget文件(example)。

读者有幸使用“新格式”'由Visual Studio 2017创建的csproj文件会发现使用文本编辑器更容易进行此类更改,因为包引用仅限于PackageReference nodes in the .csproj file