TFS-Build-Server nicht erhalten, veröffentlichen Sie Profil für die Arbeit: "Kann nicht finden die gültigen AspnetCompilerPath"
Habe ich eine Lösung mit einem Bündel von Web-Projekten, und ich will mein build-server automatisch erstellen von Paketen für jedes Projekt.
Ich bin in der Lage zu bekommen (fast) alles funktioniert.
Die builds sind in Ordnung und werden die Pakete erstellt, die auf jedem build.
Aber nur, wenn ich nicht geben Sie einen PublishProfile in das MSBuild-Argumente.
Es wird also nur einfügen, default-Werte und nicht vorkompiliert meine Web-Seiten und solche.
(Argumente sind /p:DeployOnBuild=True /p:IsAutoBuild=True /p:VisualStudioVersion=12.0
)
Aber ich will das publish profile (.pubxml), die ich in Visual Studio erstellt.
Jedes Projekt hat eine "Test.pubxml".
Aber wenn ich geben Sie die PublishProfile parameter, schlägt der build fehl mit den folgenden Fehlermeldung (Argumente sind /p:DeployOnBuild=True;PublishProfile=Test /p:IsAutoBuild=True /p:VisualStudioVersion=12.0
):
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets (411): Can't find the valid AspnetCompilerPath
Ja, die Datei Microsoft.Web.Publishing.AspNetCompileMerge.targets
vorhanden in diesem Ordner.
Ich kann bereitstellen von Projekten aus Visual Studio auf meinem Entwickler-Maschine einfach nur gut.
Ich bin mit dem folgenden:
Windows Server 2012 R2
Visual Studio Ultimate 2013 Update 1 (Installiert auf dem build-server)
Projekte sind für .Net 4.5.1
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem, fand diese Frage und kamen mit einer etwas weniger hacky Lösung:
Fügen Sie einfach
/P:Framework40Dir=c:\windows\microsoft.net\framework\v4.0.30319
als zusätzliche MSBuild-parameter.Nicht Bearbeiten müssen .Ziele-Dateien, oder legen Sie etwas anderes. Arbeitete für mich, so dass ich nur tun:
Ich es verwenden, um eine Webseite aufzubauen, die Bereitstellung-Paket in einen Unterordner von " meine Wahl - ohne Profil, es geht um
obj/debug/package
. Wer nutztobj
? Blergh 🙂War ich immer die gleichen Fehler und bekam, um es mit ein bisschen ein hack.
Bearbeitete ich die Microsoft.Web.Die Veröffentlichung.AspNetCompileMerge.Ziele Datei.
Finden Sie die AspnetCompilerPath Knoten in, und ersetzen Sie $(Framework40Dir) mit C:\Windows\Microsoft.NET\Framework\v4.0.30319.
Ich nehme an, man könnte den Wert von $(Framework40Dir) weiter oben in der Datei.
Empfehle ich erstellen Sie eine Sicherungskopie der Datei, bevor Sie es ändern (die Datei hat auch einen Kommentar auf der oben suggeriert dies).
Ich vermute, dass die richtige Lösung wäre, um einige Umgebungsvariablen oder registry-Wert.