2012-01-26 136 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

好吧,我想爲我的所有測試項目添加相同的一組軟件包 –