10 Stimmen

Wie kann ich eine MSBuild-Datei debuggen?

Ich habe eine große Lösung, die ich mit TFS (und MSBuild) zu... na ja... bauen. Allerdings dauert es eine lange Zeit, um alles zu bauen, und ich habe mich gefragt, ob es möglich war, nur die Build-XML-Datei zu debuggen, anstatt den Build selbst zu tun.

Ich verwende VS2008 und TFS 2008.

16voto

Enrico Campidoglio Punkte 51948

Leider wurde die Möglichkeit zum Debuggen von MSBuild-Skripten mit Visual Studio inoffiziell eingeführt in .NET 4.0 .

Für frühere Versionen bleibt Ihnen nur " Fehlersuche durch Tracing "Das heißt, Sie fügen an wichtigen Stellen in Ihrem Skript Protokollanweisungen ein, führen das Skript aus und prüfen die Ausgabe.

Hier sehen Sie, wie Sie das normalerweise mit der Nachricht Aufgabe :

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <SomeVariable>foo</SomeVariable>
    </PropertyGroup>
    <Target Name="MyTarget">
        <!-- Some tasks -->
        <Message Text="The value of SomeVariable is: $(SomeVariable)" Importance="High" />
        <!-- Some tasks -->
    </Target>
</Project>

Sie können das Skript dann über die Befehlszeile aufrufen und die Ausgabe in eine Protokolldatei umleiten:

msbuild MyScript.proj /t:MyTarget > %USERPROFILE%\Desktop\MyScript.log

Verwandte Ressourcen:

5 Stimmen

Damit die Meldung in Visual Studio angezeigt wird, musste ich folgende Einstellungen vornehmen Importance="High" . stackoverflow.com/questions/7557562/

1 Stimmen

Hat jemand versucht, die "Debugging MSBuild Skripte mit Visual Studio (.NET 4.0)" mit Visual Studio 2017?

0 Stimmen

@enrico Campidoglio Ich erhalte folgende Fehlermeldung, wenn ich dies versuche: "error MSB4066: The attribute "Name" in element <Target> is unrecognized." Was sollte an der Stelle von "MyTarget" sein, ist das die Build-Konfiguration?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X