2017-10-10 141 views
0

我試圖建立一個鞏固的使用web.config文件轉換前提的Team Foundation Server 2015年的控制文件夾名稱。轉換基於我選擇的構建配置正常工作。我有3個構建配置:調試,發佈和我創建的一個,稱爲「分段」。我試圖讓它可以通過在隊列時間設置$(BuildConfiguration)變量來重新使用相同的Build來適應不同的環境。在我的TFS構建的「Visual Studio中建立」的步驟,當我設置$(BuildConfiguration),以「調試」構建輸出到像這樣的代理文件夾:$(Build.SourcesDirectory)\ projectFolder \ OBJ \調試\包\ PackageTmp 。如果我將它設置爲「釋放」,那麼它將轉到$(Build.SourcesDirectory)\ projectFolder \ obj \ Release \ Package \ PackageTmp。在這兩種情況下,Web.config文件都可以正確轉換。但是,如果將生成配置設置爲「Staging」,則這些文件仍放置在「Debug」文件夾$(Build.SourcesDirectory)\ projectFolder \ obj \ Debug \ Package \ PackageTmp中,而不是「Staging」夾。 (轉換也是在這種情況下正常工作,並使用分段值)TFS 2015年 - Visual Studio的生成步驟 - 發佈位置

這在我的「複製文件」這一步驟產生了一個問題。我在這一步爲$(Build.SourcesDirectory)「源文件夾」值\ projectFolder \ OBJ \ $(BuildConfiguration) \包\ PackageTmp,但使用時的「試運行」,它不能找到源文件夾,因爲TFS是將構建文件放在「Debug」文件夾中。

有沒有辦法迫使TFS放置匹配構建配置參數文件夾中的內置項(我的web應用程序的文件,基本上),在這種情況下,「轉移」?

回答

0

注意:最好不要使用web.config轉換,而要構建一次,並允許在部署時間(通過注入適當的值或使用MSDeploy參數)將您的web.config轉換爲

這就是說,你可以控制與/p:OutDir=的MSBuild參數輸出文件夾。

然而,我懷疑你只需要在Visual Studio中打開你的項目設置,進入Build標籤,並在那裏設置一個適當命名的輸出文件夾。

+0

爲什麼最好不要使用轉換?他們似乎工作正常,很容易實現我的目的。 嘗試了OutDir或OutputPath參數,但它們不適用於我。這是在TFS服務器上構建的,我希望基於構建配置來設置輸出位置,所以我不知道VS中的Build選項卡將如何幫助? – cheluto2