更新解决方案中所有项目的nuget包

时间:2014-05-05 16:29:53

标签: .net nuget nuget-package

我有一个.net解决方案(比如说A)有多个项目(比如B,C,D)。我想更新解决方案中所有项目的所有nuget包。我知道我可以使用命令行更新nuget包,但是将路径传递给packages.config

nuget update A/B/packages.config

有没有办法使用命令行更新文件夹A中所有packages.configs的包,而无需单独指定它们? (我知道这可以从视觉工作室内完成。) 像

这样的东西
nuget update A/*/packages.config

3 个答案:

答案 0 :(得分:31)

NuGet documentation中所示,您可以输入:

Update-Package

这将:

  

将当前解决方案的所有项目中的所有包更新到   最新版本。

打开程序包管理器控制台:

工具> NuGet包管理器>软件包管理器控制台

现在,为了只有一个所有包的实例,我在我的解决方案文件夹中有一个名为nuget.config的文件,其中包含:

<configuration>
  <config>
    <add key="repositoryPath" value="..\Path\To\My\Packages" />
  </config>
</configuration>

您可能需要重新加载解决方案才能使其正常运行。

答案 1 :(得分:16)

您使用过命令行示例,但是如果您需要命令行答案,则您的问题不会说明。如果您不需要命令行,则可以在解决方案资源管理器中右键单击您的解决方案,然后选择管理解决方案的NuGet包 ...这将显示一个对话框,您可以在其中进行选择。除此之外,你还需要在这个时间点写一个脚本(据我所知)。

答案 2 :(得分:8)

首先,您必须使用nuget restore solution_file.sln恢复所有软件包,然后通过执行nuget update solution_file.sln将其更新为最新版本。

Read more about nuget command line