通过单个命令使用Nuget安装多个包

4

我正在使用Visual Studio的Package Manager Console通过Nuget。对于每个项目,我都需要添加几个包,例如xunit.contribs,fluentassertions和nsubstitute。为此,我在控制台中键入了3条命令。

我知道控制台只是另一个powershell主机,应该有一种方法可以创建一个脚本(Add-Test-Stuff.ps1之类的),该脚本将一次性添加多个包。最佳方式是什么?

3个回答

10

我通常使用数组来定义我的程序包,并使用foreach循环来执行它们

$angular = "AngularJS.Animate", "AngularJS.Core", "AngularJS.Locale", "AngularJS.Resource", "AngularJS.Route", "AngularJS.Sanitize", "AngularJS.Touch"
$angular | foreach {Install-Package $_} 

这也可以写成一行代码。

"AngularJS.Animate", "AngularJS.Core", "AngularJS.Locale", "AngularJS.Resource", "AngularJS.Route", "AngularJS.Sanitize", "AngularJS.Touch" | foreach {Install-Package $_} 

1

很抱歉,这不是对你问题的直接回答。但我看到了Code52 IdeaStrike项目采用的非常好的做法。

他们没有在源代码控制中包含任何软件包,而是会在第一次构建解决方案时自动下载并安装,具体取决于packages.config文件。

有关配置的详细信息,请参见:

在不将软件包提交到源代码控制的情况下使用NuGet


是的,但你需要以某种方式将它们添加到 packages.config 中。我在想如何以最快的方式完成 :) - the_joric

1
将任何脚本放入您的解决方案目录中,您就可以从包管理器控制台执行它。

好的,是否可以将脚本放置在某个主目录下? - the_joric
你可以将它放在PATH的任何位置。但我认为这个脚本是特定于项目的。不确定为什么要把它放在其他地方。 - Mike Chaliy
1
好的,我想要在所有的测试项目中添加相同的软件包集合。 - the_joric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接