2017-03-20 50 views
1

我正在嘗試使用Visual Studio 2015和本地TFS 2013服務器爲傳統VB.Net ASP.Net Forms應用程序設置持續集成過程。不過,我努力獲得構建定義來成功構建我的應用程序。MSBuild由於缺少文件而失敗 - 我實際上想要排除

構建失敗,並顯示以下錯誤。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets (182): Could not copy the file "appSettings.config" because it was not found. 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets (182): Could not copy the file "connectionStrings.config" because it was not found. 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets (182): Could not copy the file "globalization.config" because it was not found. 

三個文件提到appSettings.configconnectionStrings.configglobalization.configconfigSource配置文件(外部配置文件web.config中引用),我不希望我的CI的MSBuild的一部分使用(我希望在CI系統web.config上使用變換來交換必要的設置)。

它們的屬性標記爲Build Action: ContentCopy to output directory: Do not copy。這些文件屬性是否正確告訴MSBuild忽略它們?我試圖切換到Build Action: None沒有成功。

是否需要將額外的配置添加到我的項目文件或MSBuild設置才能讓它忽略它們?

+0

您是否將該網站「發佈」爲您的asp.net應用程序構建的一部分? – granadaCoder

+0

我想在將其發佈到Azure Web應用程序之後發佈它,但由於此錯誤阻止了構建本身,所以我還沒有配置它。 – Ted

+0

如果它通過TFS構建而不是通過本地msbuild工作,您是否嘗試過? –

回答

0

Build Action: ContentCopy to output directory: Do not copy測試後。這也適用於VS中的本地MSbuild。

所以你的問題與你的TFS XAML構建定義有關。顯然,這些xx.config文件不在TFS預期的路徑中。 XAML構建實際上也是調用MSBuild來執行構建。

爲了縮小這個問題,一種方法是比較你的XAML構建和本地MSBuild的日誌差異與一些參數,如兩個構建proj文件。然後修改你的構建定義。

另一種方法是將自定義工作流程活動添加到您的構建過程模板中以完成此操作,請參閱TFS Build not transforming web.config as expected。在XAML構建定義中,您還可以在TFS Build期間構建項目之前運行腳本文件(或其他方式)將項目(工作目錄)修改爲使用正確的.Config文件。

相關問題