2013-04-25 23 views
5

Ho provato molte cose oggi per far funzionare la mia build in Teamcity, ma senza risultato.TeamCity Build Failure

Ecco il mio setup.

Ho 2 configurazioni di build in TeamCity

  1. Build Solution
  2. Build Deployment Package Debug

Build Solution è innescata da un check-SVN e costruisce il file di soluzione. Questa configurazione funziona bene.

Build Deployment Package Debug ha Build Solution come dipendenza e ha due passi di costruzione (MSBuild). La soluzione contiene due siti Web: uno front-end e uno admin. Un passo di costruzione crea il sito di front-end e l'altro il sito di amministrazione. Il risultato finale è che inserisce i risultati combinati in un file zip per la distribuzione sul server di distribuzione (non ho ancora ottenuto questo bit).

Il problema è che la configurazione dello Build Deployment Package Debug non riesce a creare il primo sito. Questo è l'errore:

[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 

Ecco costruire Paramters -> Proprietà di sistema

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

Perché il voto negativo? Ho fatto una domanda valida, fornendo molti dettagli rilevanti. –

+0

possibile duplicato di [errore Teamcity con MVC 4 e .NET 4.5] (http://stackoverflow.com/questions/16219319/teamcity-error-with-mvc-4-and-net-4-5) –

+0

Possibile duplicato di [allowDefinition = errore "MachineToApplication" durante la pubblicazione da VS2010 (ma solo dopo una build precedente)] (http://stackoverflow.com/questions/2566215/allowdefinition-machinetoapplication-error-when-publishing-from-vs2010-but-on) – JotaBe

risposta

18

Ecco che cosa ho fatto per risolvere questo

Ho già avuto questo nel mio file di progetto

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

Ma avevo bisogno di aggiungere anche questo

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

In questo modo è stato risolto il problema.

Spero che questo aiuti qualcun altro che sta lavorando su TeamCity in futuro.

+1

Ci sono molte risposte SO per risolvere questo problema, ma questo è l'unico che ha funzionato per me. Il mio setup è un progetto VS11 che è stato convertito da VS10, ha BuildMvcViews attivato solo in Release e ora utilizza i profili di pubblicazione. msbuild/p: DeployOnBuild non funzionava con l'errore web.config (anche se effettivamente ha pubblicato il pacchetto ...). Questo l'ha risolto. –

+1

Lavorando al primo colpo! Grazie –

+2

grazie per essere tornato per rispondere a questo. mi stava strappando i capelli – spaceman

Problemi correlati