2013-04-25 72 views
5

今天我嘗試了很多事情來讓我的構建在TeamCity中工作,但無濟於事。TeamCity Build Failure

這是我的設置。

我有2個構建配置在TeamCity的

  1. Build Solution
  2. Build Deployment Package Debug

Build Solution由SVN簽入觸發並構建溶液文件。這種配置工作正常。

Build Deployment Package Debug具有Build Solution作爲其依賴項,並具有兩個(MSBuild)構建步驟。該解決方案包含兩個網站:一個前端和一個管理員。一個構建步驟構建前端網站,另一個構建管理網站。最終的結果是,它將組合結果放入一個zip文件中,以便部署到部署服務器(我還沒有到這個位)。

我的問題是Build Deployment Package Debug配置嘗試構建第一個站點失敗。這是錯誤:

[18:40:25]Step 1/2: Web (MSBuild) (29s) 
[18:40:28][Step 1/2] x.Web\x.Web.csproj.teamcity: Build target: Build (27s) 
[18:40:50][x.Web\x.Web.csproj.teamcity] MvcBuildViews (4s) 
[18:40:50][MvcBuildViews] AspNetCompiler (4s) 
[18:40:55][AspNetCompiler] C:\BuildAgent\work\252ec59002ecc2d\x.Web\obj\debug\csautoparameterize\original\web.config(39, 0): error ASPCONFIG: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. 
[18:40:55][x.Web\x.Web.csproj.teamcity] Project x.Web\x.Web.csproj.teamcity failed. 
[18:40:55][Step 1/2] Step Web (MSBuild) failed 

這裏是構建Paramters - >系統屬性

Name Value 
system._PackageTempDir c:\deploypackage 
system.Configuration  Debug 
system.CreatePackageOnPublish True 
system.DeployIisAppPath Debug 
system.DeployOnBuild  True 
system.PackageLocation c:\buildshares\Debug\Debug.zip 
+1

爲什麼是反面投票?我問了一個有效的問題,提供了大量的相關細節。 – 2013-04-26 14:41:47

+0

[TeamCity錯誤與MVC 4和.NET 4.5]可能重複(http://stackoverflow.com/questions/16219319/teamcity-error-with-mvc-4-and-net-4-5) – 2013-04-28 08:15:45

+0

可能的重複[從VS2010發佈時(但僅在之前的版本之後),allowDefinition ='MachineToApplication']錯誤(http://stackoverflow.com/questions/2566215/allowdefinition-machinetoapplication-error-when-publishing-from-vs2010-but-on ) – JotaBe 2016-10-21 11:25:58

回答

18

這裏就是我做來解決這個

我已經有這個在我的項目文件

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> 
</Target> 

但我還需要補充這個

<Target Name="AfterBuild"> 
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" /> 
</Target> 

這樣做解決了這個問題。

我希望這可以幫助未來在TeamCity上工作的其他人。

+1

有很多SO解決這個問題的答案,但這是唯一真正爲我工作的人。我的設置是一個從VS10轉換而來的VS11項目,在Release中打開了BuildMvcViews,現在使用發佈配置文件。 msbuild/p:DeployOnBuild與web.config錯誤失敗(即使它確實發佈了包...)。這固定了它。 – 2013-05-06 22:08:21

+1

在第一槍時工作!謝謝 – 2013-06-06 08:25:22

+2

感謝您回來回答這個問題。把我的頭髮撕掉了 – spaceman 2013-10-22 12:17:49