Visual studio 2012 无法调试msbuild
我正在尝试调试使用msbuild的生成进程。我正试着按照文件做 我这样做是为了添加所需的注册表项Visual studio 2012 无法调试msbuild,visual-studio-2012,msbuild,Visual Studio 2012,Msbuild,我正在尝试调试使用msbuild的生成进程。我正试着按照文件做 我这样做是为了添加所需的注册表项 reg add HKLM\SOFTWARE\Microsoft\MSBuild\4.0 /v DebuggerEnabled /d true 然而当我尝试 msbuild.exe/ 我没有看到调试开关 C:\Program Files (x86)\Microsoft Visual Studio 11.0>msbuild.exe /? Microsoft (R) Build Engine v
reg add HKLM\SOFTWARE\Microsoft\MSBuild\4.0 /v DebuggerEnabled /d true
然而当我尝试
msbuild.exe/
我没有看到调试开关
C:\Program Files (x86)\Microsoft Visual Studio 11.0>msbuild.exe /?
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18063]
Copyright (C) Microsoft Corporation. All rights reserved.
Syntax: MSBuild.exe [options] [project file]
Description: Builds the specified targets in the project file. If
a project file is not specified, MSBuild searches the
current working directory for a file that has a file
extension that ends in "proj" and uses that file.
Switches:
/target:<targets> Build these targets in this project. Use a semicolon or a
comma to separate multiple targets, or specify each
target separately. (Short form: /t)
Example:
/target:Resources;Compile
/property:<n>=<v> Set or override these project-level properties. <n> is
the property name, and <v> is the property value. Use a
semicolon or a comma to separate multiple properties, or
specify each property separately. (Short form: /p)
Example:
/property:WarningLevel=2;OutDir=bin\Debug\
/maxcpucount[:n] Specifies the maximum number of concurrent processes to
build with. If the switch is not used, the default
value used is 1. If the switch is used without a value
MSBuild will use up to the number of processors on the
computer. (Short form: /m[:n])
/toolsversion:<version>
The version of the MSBuild Toolset (tasks, targets, etc.)
to use during build. This version will override the
versions specified by individual projects. (Short form:
/tv)
Example:
/toolsversion:3.5
/verbosity:<level> Display this amount of information in the event log.
The available verbosity levels are: q[uiet], m[inimal],
n[ormal], d[etailed], and diag[nostic]. (Short form: /v)
Example:
/verbosity:quiet
/consoleloggerparameters:<parameters>
Parameters to console logger. (Short form: /clp)
The available parameters are:
PerformanceSummary--Show time spent in tasks, targets
and projects.
Summary--Show error and warning summary at the end.
NoSummary--Don't show error and warning summary at the
end.
ErrorsOnly--Show only errors.
WarningsOnly--Show only warnings.
NoItemAndPropertyList--Don't show list of items and
properties at the start of each project build.
ShowCommandLine--Show TaskCommandLineEvent messages
ShowTimestamp--Display the Timestamp as a prefix to any
message.
ShowEventId--Show eventId for started events, finished
events, and messages
ForceNoAlign--Does not align the text to the size of
the console buffer
DisableConsoleColor--Use the default console colors
for all logging messages.
DisableMPLogging-- Disable the multiprocessor
logging style of output when running in
non-multiprocessor mode.
EnableMPLogging--Enable the multiprocessor logging
style even when running in non-multiprocessor
mode. This logging style is on by default.
Verbosity--overrides the /verbosity setting for this
logger.
Example:
/consoleloggerparameters:PerformanceSummary;NoSummary;
Verbosity=minimal
/noconsolelogger Disable the default console logger and do not log events
to the console. (Short form: /noconlog)
/fileLogger[n] Logs the build output to a file. By default
the file is in the current directory and named
"msbuild[n].log". Events from all nodes are combined into
a single log. The location of the file and other
parameters for the fileLogger can be specified through
the addition of the "/fileLoggerParameters[n]" switch.
"n" if present can be a digit from 1-9, allowing up to
10 file loggers to be attached. (Short form: /fl[n])
/fileloggerparameters[n]:<parameters>
Provides any extra parameters for file loggers.
The presence of this switch implies the
corresponding /filelogger[n] switch.
"n" if present can be a digit from 1-9.
/fileloggerparameters is also used by any distributed
file logger, see description of /distributedFileLogger.
(Short form: /flp[n])
The same parameters listed for the console logger are
available. Some additional available parameters are:
LogFile--path to the log file into which the
build log will be written.
Append--determines if the build log will be appended
to or overwrite the log file. Setting the
switch appends the build log to the log file;
Not setting the switch overwrites the
contents of an existing log file.
The default is not to append to the log file.
Encoding--specifies the encoding for the file,
for example, UTF-8, Unicode, or ASCII
Default verbosity is Detailed.
Examples:
/fileLoggerParameters:LogFile=MyLog.log;Append;
Verbosity=diagnostic;Encoding=UTF-8
/flp:Summary;Verbosity=minimal;LogFile=msbuild.sum
/flp1:warningsonly;logfile=msbuild.wrn
/flp2:errorsonly;logfile=msbuild.err
/distributedlogger:<central logger>*<forwarding logger>
Use this logger to log events from MSBuild, attaching a
different logger instance to each node. To specify
multiple loggers, specify each logger separately.
(Short form /dl)
The <logger> syntax is:
[<logger class>,]<logger assembly>[;<logger parameters>]
The <logger class> syntax is:
[<partial or full namespace>.]<logger class name>
The <logger assembly> syntax is:
{<assembly name>[,<strong name>] | <assembly file>}
The <logger parameters> are optional, and are passed
to the logger exactly as you typed them. (Short form: /l)
Examples:
/dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
/dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll
/distributedFileLogger
Logs the build output to multiple log files, one log file
per MSBuild node. The initial location for these files is
the current directory. By default the files are called
"MSBuild<nodeid>.log". The location of the files and
other parameters for the fileLogger can be specified
with the addition of the "/fileLoggerParameters" switch.
If a log file name is set through the fileLoggerParameters
switch the distributed logger will use the fileName as a
template and append the node id to this fileName to
create a log file for each node.
/logger:<logger> Use this logger to log events from MSBuild. To specify
multiple loggers, specify each logger separately.
The <logger> syntax is:
[<logger class>,]<logger assembly>[;<logger parameters>]
The <logger class> syntax is:
[<partial or full namespace>.]<logger class name>
The <logger assembly> syntax is:
{<assembly name>[,<strong name>] | <assembly file>}
The <logger parameters> are optional, and are passed
to the logger exactly as you typed them. (Short form: /l)
Examples:
/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML
/validate Validate the project against the default schema. (Short
form: /val)
/validate:<schema> Validate the project against the specified schema. (Short
form: /val)
Example:
/validate:MyExtendedBuildSchema.xsd
/ignoreprojectextensions:<extensions>
List of extensions to ignore when determining which
project file to build. Use a semicolon or a comma
to separate multiple extensions.
(Short form: /ignore)
Example:
/ignoreprojectextensions:.sln
/nodeReuse:<parameters>
Enables or Disables the reuse of MSBuild nodes.
The parameters are:
True --Nodes will remain after the build completes
and will be reused by subsequent builds (default)
False--Nodes will not remain after the build completes
(Short form: /nr)
Example:
/nr:true
/preprocess[:file]
Creates a single, aggregated project file by
inlining all the files that would be imported during a
build, with their boundaries marked. This can be
useful for figuring out what files are being imported
and from where, and what they will contribute to
the build. By default the output is written to
the console window. If the path to an output file
is provided that will be used instead.
(Short form: /pp)
Example:
/pp:out.txt
/detailedsummary
Shows detailed information at the end of the build
about the configurations built and how they were
scheduled to nodes.
(Short form: /ds)
@<file> Insert command-line settings from a text file. To specify
multiple response files, specify each response file
separately.
Any response files named "msbuild.rsp" are automatically
consumed from the following locations:
(1) the directory of msbuild.exe
(2) the directory of the first project or solution built
/noautoresponse Do not auto-include any MSBuild.rsp files. (Short form:
/noautorsp)
/nologo Do not display the startup banner and copyright message.
/version Display version information only. (Short form: /ver)
/help Display this usage message. (Short form: /? or /h)
Examples:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
MSBuild MyApp.csproj /t:Clean
/p:Configuration=Debug;TargetFrameworkVersion=v3.5
C:\Program Files (x86)\Microsoft Visual Studio 11.0>
C:\ProgramFiles(x86)\Microsoft Visual Studio 11.0>msbuild.exe/?
Microsoft(R)生成引擎版本4.0.30319.17929
[Microsoft.NET Framework,版本4.0.30319.18063]
版权所有(C)微软公司。版权所有。
语法:MSBuild.exe[选项][项目文件]
描述:在项目文件中生成指定的目标。如果
未指定项目文件,MSBuild将搜索
包含文件的文件的当前工作目录
以“proj”结尾并使用该文件的扩展名。
开关:
/目标:在此项目中构建这些目标。使用分号或分号
逗号分隔多个目标,或指定每个目标
分别瞄准。(缩写:/t)
例子:
/目标:资源;编撰
/属性:=设置或替代这些项目级属性。是
属性名称,并且是属性值。使用
分号或逗号分隔多个属性,或
分别指定每个属性。(缩写:/p)
例子:
/属性:WarningLevel=2;OutDir=bin\Debug\
/maxcpucount[:n]指定要执行的最大并发进程数
用…建造。如果未使用该开关,则默认值为
使用的值为1。如果使用的开关没有值
MSBuild最多将使用上的处理器数
电脑。(缩写:/m[:n])
/工具版本:
MSBuild工具集的版本(任务、目标等)
在构建期间使用。此版本将覆盖
由单个项目指定的版本。(简称:
/(电视)
例子:
/工具版本:3.5
/详细:在事件日志中显示此数量的信息。
可用的详细级别为:q[uiet]、m[inimal],
n[正常]、d[异常]和诊断[诊断]。(缩写:/v)
例子:
/冗长:安静
/ConsoleLogger参数:
控制台记录器的参数。(缩写:/clp)
可用参数包括:
PerformanceSummary--显示在任务、目标上花费的时间
和项目。
摘要--在末尾显示错误和警告摘要。
NoSummary——不在屏幕上显示错误和警告摘要
结束。
ErrorsOnly——仅显示错误。
WarningOnly—仅显示警告。
NoItemAndPropertyList--不显示项和属性的列表
每个项目生成开始时的属性。
ShowCommandLine--显示TaskCommandLineEvent消息
ShowTimestamp--将时间戳显示为任何
消息
ShowEventId—显示已启动事件的eventId,已完成
事件、事件和消息
ForceNoAlign--不将文本与
控制台缓冲区
DisableConsoleColor——使用默认的控制台颜色
用于所有日志消息。
DisablePloging——禁用多处理器
在中运行时输出的日志记录样式
非多处理器模式。
EnablePloging——启用多处理器日志记录
即使在非多处理器中运行,也要设置样式
模式默认情况下,此日志记录样式处于启用状态。
详细信息--覆盖此文件的/Verbosity设置
记录器。
例子:
/ConsoleLogger参数:性能摘要;无总结;
冗长=最小
/noconsolelogger禁用默认控制台记录器,不记录事件
到控制台。(缩写:/noconlog)
/fileLogger[n]将生成输出记录到文件中。默认情况下
该文件位于当前目录中,名为
“msbuild[n].log”。来自所有节点的事件被合并到
一根木头。文件和其他文件的位置
可以通过指定文件记录器的参数
添加“/fileLoggerParameters[n]”开关。
“n”如果存在,可以是1-9之间的数字,最多允许
需附加10个文件记录器。(缩写:/fl[n])
/fileloggerparameters[n]:
为文件记录器提供任何额外参数。
此开关的存在意味着
相应的/filelogger[n]开关。
如果存在,则“n”可以是1-9之间的数字。
/fileloggerparameters也可由任何分布式服务器使用
文件记录器,请参阅/distributedFileLogger的说明。
(缩写:/flp[n])
为控制台记录器列出的相同参数如下:
可用。其他可用参数包括:
LogFile--日志文件的路径
将写入构建日志。
附加--
HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild\4.0
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0]
"DebuggerEnabled"="true"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\4.0]
"DebuggerEnabled"="true"
reg add HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild\12.0 /v DebuggerEnabled /d true