2012-01-26 138 views
2

我通过Visual Studio的软件包管理器控制台使用Nuget。对于每个项目,我需要添加一些软件包,例如xunit.contribs,fluentassertions和nsubstitute。要做到这一点,我在CONSOLLE中键入3个命令。通过单一命令通过Nuget安装多个软件包

我知道控制台只是另一个PowerShell主机,应该有一种方法来创建一个脚本(一种Add-Test-Stuff.ps1),它将一次添加几个包。什么是最好的方式来做到这一点?

回答

5

我通常在数组定义我的包和使用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

配置的细节在这里:

Using NuGet without committing packages to source control

+0

是执行它们,但你需要添加他们以某种方式来'packages.config'。我想知道如何以最快的方式做到这一点:) –

1

将任何脚本放到您的解决方案目录中,您将能够从软件包管理器控制台执行它。

+0

好的,是否可以将脚本放到某个home文件夹? –

+0

你可以把它放在PATH中。但我认为这个脚本是特定于项目的。不知道为什么要保持在别的地方。 –

+1

好吧,我想为我的所有测试项目添加相同的一组软件包 –