Wie debugge ich eine Projektdatei in MSBuild 12.0 / VS2013?

Aufzeichnen eines Projekts war in MSBuild 4.0 / VS2010 einfach., Sie mussten nur den Registrierungsschlüssel festlegen, der eine Befehlszeilenoption msbuild / debug ermöglichte. Der Debugger startet und bricht am Anfang der Projektdatei ab.

MSBuild 12 führt dazu eine neue Umgebungsvariable ein. Legen Sie an der Eingabeaufforderung MSBUILDDEBUGONSTART = 1 fest, und führen Sie dann MSBuild aus (kein Befehlszeilenschalter). Dies startet den Debugger, aber macht keine Pause. Das Projekt wird gerade mit VS open abgeschlossen.

Fehlt mir eine Einstellung? Oder wurde diese (undokumentierte) Funktion entfernt? Ich konnte den Debugger zumindest durch hartes Codieren in einer Debug-Pause zum Stoppen bringen, aber das hilft mir nicht, das @ zu verfolgeProjek Datei

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
         InitialTargets="Init">

  <UsingTask TaskName="LaunchDebugger"
             TaskFactory="Microsoft.Build.Tasks.CodeTaskFactory"
             AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
    <ParameterGroup />
    <Task>
      <Using Namespace="System" />
      <Code Type="Fragment" Language="cs">
        <![CDATA[
          System.Console.WriteLine("Launching debugger...");
          System.Diagnostics.Debugger.Launch();
        ]]>
      </Code>
    </Task>
  </UsingTask>

  <UsingTask TaskName="DebugBreak"
             TaskFactory="Microsoft.Build.Tasks.CodeTaskFactory"
             AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
    <ParameterGroup />
    <Task>
      <Using Namespace="System" />
      <Code Type="Fragment" Language="cs">
        <![CDATA[
          System.Diagnostics.Debugger.Break();
        ]]>
      </Code>
    </Task>
  </UsingTask>

  <Target Name="Init">
    <LaunchDebugger />
    <DebugBreak />
  </Target>

...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage