我正在使用TFS2012與Visual Studio 2012構建定義,並且將一個定義設置爲構建包含.csproj和.vcproj(分別爲c#和C++)的解決方案。我可以在構建服務器上運行解決方案的本地構建,效果很好,構建輸出顯示所有項目(最顯着的是C++項目)都是構建的;預製,後建,整個九碼。但是,當我運行構建完全相同的解決方案的構建定義時,C++項目似乎沒有構建。生成報告沒有錯誤返回,但生成日誌只返回以下爲c + +項目:與csproj一起構建vcproj TFS2012
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ Common7 \ IDE .... \ vc \ vcpackages \ VCBuild.exe /覆蓋: 「[路徑解決方案文件] .Mixed Platforms.Debug.vsprops」[路徑到項目文件] 「調試|的Win32」
我所希望看到的是一個多更長的構建報告(表明項目實際構建),但是,我留下了似乎缺乏構建C++項目的嘗試。更不用說構建輸出不包含C++項目中的任何程序集或.pdb。
爲了消除沒有安裝Visual Studio 2008的問題,構建服務器確實安裝了Visual Studio 2008,並且已經執行了全面修復以確保所有正確的文件都已到位(像vcbuild.exe和vcprojectengine.dll)。
任何想法,爲什麼c + +項目不建設?謝謝你的幫助!
UPDATE_ _ __ _ __ _ __ _ __ _ ____
問題已經改變。由於一些漂亮的構建日誌記錄,我的印象是C++項目沒有構建(我運行這個想法是因爲我沒有在指定的構建定義放置位置看到任何項目輸出)。經過一番調查(以及一些非常有幫助的建議!),問題一直集中在簡單的C++項目輸出目錄屬性不會像C#屬性那樣動態更改。手動更改這些值並運行構建定義已經證明構建定義使用C++項目文件的默認輸出目錄屬性。
我的臨時解決方案是做一些腳本來將這些輸出複製到我需要的文件夾中。爲了進一步提出我的帖子的問題,是否有任何設置讓這些C++項目輸出目錄屬性動態變化爲C#項目?
你的意思是C#項目動態更新輸出目錄?你的意思是基於配置的釋放/調試?對於C++和c#都應該是相同的。 – Isaiah4110
我通過使用許多構建注意到的一件事是項目屬性的許多宏值被默認模板更改。這允許將輸出目錄更改爲C:\ Builds \ 1 \ ProjectCollectionName \ DefinitionName之類的東西,換句話說,要在構建臨時區域而不是默認輸出目錄中輸出(至少這是我的理解)。因此,要解決這個問題,我將在構建模板中添加一個活動,將C++輸出複製到放置位置。 – Freestyle076