2014-02-10 122 views
1

我正在開發持續集成項目。我已經建立了一個本地Nuget包存儲庫以及爲構建和部署設置Atlassian Bamboo(基本上是msbuild)。該NuGet包版本如下:根據解決方案配置指定nuget包版本

MyPackage.Library版本1.1.1.1

MyPackage.Library版本1.1.1.1試驗

MyPackage.Library版本1.1.1.1-DEV

的沒有附加名稱的包是生產包。 Bamboo構建了這三個部署,並將它們部署到nuget包服務器上,但問題出現在我打算使用它們的項目中。我還沒有想出一種方式來'轉換'packages.config來指定測試或開發nuget包,當竹建立我包含軟件包的項目的測試和dev版本。(對不起,如果這是令人困惑)。

如何根據哪個解決方案配置(在IDE內)指定要使用哪個nuget包?

(編輯:現在尋找到在Visual Studio NuGet包構建如何恢復工作,我知道我可以用手動像指定包...

String cmdnuget = "C:\\Tools\\nuget restore " + item.toString() + " -PackagesDirectory " + startingDir.toString() + "\\packages -NonInteractive -NoCache -ConfigFile C:\\Tools\\NuGet.config"; 

但是,這並不能真正幫助在IDE開發和調試裏面)。

編輯2:玩弄使用個人git回購dev/test/prod的想法。這可能是選擇的路徑,因爲packages.config文件可以包含到dev/test包的正確映射。如果有人有更好的想法,我會立即開放。

+1

你想達到什麼目的? –

+0

查看我的回答。我對這個問題的思考過程非常沮喪。對不起所有。 – CarComp

回答

0

對每個環境使用單獨的回購並且每個回收都包含適當的packages.config,其中包含適用於每個環境的適當的nuget包是解決此問題的簡單方法。我誠實地問了錯誤的問題,走錯了路,後來發現一個簡單的方法有時候效果最好。

+0

長期來看,使用像Artifactory這樣的適當包管理器會比較好,它允許您維護一個單一的回購站,但是針對每個包還包含額外的元數據('HasPassedUnitTests','Has PassedComponentTests','HasPassedIntergrationTests'等),而不是單獨的回購,但單獨的環境回購肯定比單獨的代碼分支甚至每個環境的git回購更好! –