1

Ich habe eine Aufgabe auf einem Visual Studio Team Services wie folgt konfiguriert:VSTS - Kompilieren aspx Seiten auf Build

enter image description here

Die Lösung enthält eine ASP.NET Web Forms-Anwendung. Die Aufgabe kompiliert die Lösung, aber leider werden Kompilierungsfehler bei ASPX-Dateien ignoriert. Gibt es eine Möglichkeit, nach Fehlern auf ASPX-Seiten auf Build zu suchen?

+0

Haben Sie eine Web-Site oder eine Web-Anwendung? (Web-Anwendungen haben Code hinter Dateien) –

+0

Web-Anwendung - es gibt Code hinter Dateien. –

Antwort

2

TL; DR Stellen Sie einfach die MSBuild Eigenschaft PrecompileBeforePublish auf 'true'

Lange Version:
Die bevorzugte Option ist ein Web-Paket (eine ZIP-Datei) zu erstellen, die Sie dann zu VSTS ernähren konnte Bauen/Tasks freigeben, die es unter Azure App Service oder IIS bereitstellen würden.

Um die Web Publishing Pipeline während Build, indem diese zusätzlichen Argumente zu MSBuild (auf der Visual Studio Build-Task) ein Web-Paket auslösen zu erstellen:

/p:DeployOnBuild=true /p:WebPublishMethod=Package 
/p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true  
/p:PackageLocation="$(build.artifactstagingdirectory)\\"  
/p:PrecompileBeforePublish=true 

Dies würde entweder vorkompilieren die ASPX-Datei sowie Kopieren der ZIP-Datei lokal im Artefakt-Staging-Verzeichnis auf dem Agent-Computer. Verwenden Sie die Variable $(build.artifactstagingdirectory), um in nachfolgenden Tasks auf dieses Verzeichnis zu verweisen, um dieses Artefakt zu veröffentlichen.

+0

Danke, ich werde es versuchen. Ich wusste, dass es eine magische Eigenschaft dafür geben könnte, aber ich konnte es nicht finden :-) Ich erzeuge bereits das Msdeploy Paket (.zip Datei) auf anderen Builds, ich brauchte nur einen Weg, Fehler in der ASPX-Dateien zum Zeitpunkt der Erstellung. –

+0

Danke nochmal Luca. Ich musste einige Änderungen vornehmen, damit es für mich funktioniert, überprüfe meine Antwort. –

+0

@Rui können Sie teilen, welche Art von Problem Sie mit den vorgeschlagenen Msbuild-Argumente hatten? In diesem Fall müssen Sie msbuild zweimal aufrufen, nicht wie hier. –

0

Wie bereits von Luca erwähnt, macht PrecompileBeforePublish den Trick.

Ich entschied mich für eine andere Antwort, weil die MSBuild-Argumente, die er als Beispiel gab, für mich nicht funktionierten. Früher habe ich die folgenden Argumente:

/t:Package 
/p:PackageLocation="$(build.artifactstagingdirectory)\website.zip"  
/p:OutputPath=.\bin 
/p:Configuration=$(BuildConfiguration) 
/p:PrecompileBeforePublish=true 

Build ist nun Erfassen von Fehlern in den ASPX-Seiten wie fehlende Ressourcen:

enter image description here

Verwandte Themen