2012-08-08 104 views
0

我有一個使用TeamCity構建多個項目的msbuild腳本。它構建了一些C++ builder 2010項目和一些C#項目。它還爲它們創建一個安裝程序並將其打包。現在我有一個我想要添加的新項目,但問題在於它使用.Net Framework 4構建,而其他較舊的項目以及構建腳本本身的目標是.Net Framework 2.使用TeamCity從msbuild 2腳本構建項目目標爲msbuild 4

在TeamCity中的設置選擇使用msbuild 2進行構建並將其更改爲4(希望它向後兼容)只會導致大量錯誤。

我想知道是否有一個很好的方法來使用msbuild 4來構建特定的項目,而不是在TeamCity中創建新的構建。

我試着從msbuild 2使用exec命令調用msbuild 4,它工作正常。但也許有一些「更好」的做法。什麼「工作」

<Exec Command="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild /t:FooBar /p:Configuration=Debug ..\FooBar\FooBar.sln"/> 

更新

例如:我設法讓所有舊的東西使用的MSBuild和.NET Framework 4編譯因此,這不是一個真正的問題了。

+0

只是一個問題,爲什麼不分開構建在單獨的配置? – 2012-08-08 13:13:37

+0

因爲如果用戶想要這樣做,而不必記得先運行特定步驟,我希望構建可以輕鬆地從cmd從點A運行到點B. – inquam 2012-08-08 13:22:02

+0

您可以將單獨的cmd文件放在一個大的文件夾中,以便爲每個項目調用小文件 – 2012-08-08 14:34:56

回答

0

我解決了它的「正確」方式。確保所有舊的東西都可以使用新的msbuild構建,並定位它們的目標.NET Framework。使用exec的方法也行得通,但總是感覺像是一種黑客。