Pau*_*ams 10 msbuild debugging msbuild-4.0 visual-studio-2013
在MSBuild 4.0/VS2010中跟踪项目很简单,您只需设置注册表项即可启用msbuild/debug命令行选项.调试器将在项目文件的开头启动和中断.
MSBuild 12为此引入了一个新的环境变量.在命令提示符下,设置MSBUILDDEBUGONSTART = 1,然后运行MSBuild(无命令行开关).这将启动调试器,但不会中断.该项目在VS打开时运行完成.
我错过了一个设置吗?或者已删除此(未记录的)功能?我能够通过调试中断中的硬编码至少让调试器停止,但这无助于我跟踪项目文件.
<?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>
...
将DebuggerEnabled注册表值(带数据true)添加到以下密钥(博客文章中的密钥已过期).
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\12.0(64位系统)
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\12.0(32位系统,或者以某种方式运行MSBuild 64位)
也可以看看:
| 归档时间: | 
 | 
| 查看次数: | 3356 次 | 
| 最近记录: |