代码语言:javascript复制
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.26
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'
C:Program Files (x86)Microsoft Visual Studio2019Community>msbuild
用于 .NET Framework 的 Microsoft (R) 生成引擎版本 16.11.2 f32259642
版权所有(C) Microsoft Corporation。保留所有权利。
MSBUILD : error MSB1003: 请指定项目或解决方案文件。当前工作目录中未包含项目或解决方案文件。
C:Program Files (x86)Microsoft Visual Studio2019Community>msbuild /help
用于 .NET Framework 的 Microsoft (R) 生成引擎版本 16.11.2 f32259642
版权所有(C) Microsoft Corporation。保留所有权利。
语法: MSBuild.exe [选项] [项目文件 | 目录]
描述: 在项目文件中生成指定的目标。如果
未指定项目文件,MSBuild 将搜索
当前工作目录来查找文件
扩展名以“proj”结尾的文件并使用该文件。如果
如果指定了目录,MSBuild 将搜索此
目录来查找项目文件。
开关: 请注意,使用 "-switch" 和 "/switch" 均可
指定开关。
-target:<targets> 在此项目中生成这些目标。使用
分号或逗号分隔多个目标,或者分别指定
每个目标。(缩写: -t)
示例:
-target:Resources;Compile
-property:<n>=<v> 设置或重写这些项目级属性。<n> 是
属性名,<v> 为属性值。请使用
分号或逗号分隔多个属性,或者
分别指定每个属性。(缩写: -p)
示例:
-property:WarningLevel=2;OutDir=binDebug
-maxCpuCount[:n] 指定用于生成的最大
并发进程数。如果未使用开关,则使用的默认值
为 1。如果使用开关时不带值,
MSBuild 将最多使用计算机上的
处理器数。(缩写: -m[:n])
-toolsversion:<version>
要在生成过程中使用的 MSBuild 工具集
(任务、目标等)的版本。此版本将重写
各个项目指定的版本。(缩写:
-tv)
示例:
-toolsversion:3.5
-verbosity:<level> 在事件日志中显示此级别的信息量。
可用的详细程度有: q[uiet]、 m[inimal]、
n[ormal]、d[etailed] 和 diag[nostic]。(缩写: -v)
示例:
-verbosity:quiet
-consoleloggerparameters:<parameters>
控制台记录器的参数。(缩写: -clp)
可用参数包括:
PerformanceSummary -- 显示在任务、目标和项目上
花费的时间。
Summary -- 结束时显示错误和警告的摘要。
NoSummary -- 结束时不显示错误和警告
的摘要。
ErrorsOnly -- 仅显示错误。
WarningsOnly -- 仅显示警告。
NoItemAndPropertyList -- 在开始生成每个项目时不显示
项和属性的列表。
ShowCommandLine -- 显示 TaskCommandLineEvent 消息
ShowTimestamp -- 将时间戳作为所有消息的前缀
显示。
ShowEventId -- 显示已开始事件、已完成事件和消息
的事件 ID。
ForceNoAlign -- 不将文本与控制台缓冲区的大小
匹配。
DisableConsoleColor -- 将默认控制台颜色
用于所有记录消息。
DisableMPLogging -- 在非多处理器
模式下运行时,禁用输出的多处理器
日志记录样式。
EnableMPLogging -- 即使在非多处理器
模式下运行,也启用多处理器
日志记录样式。默认情况下启用此日志记录样式。
ForceConsoleColor--使用 ANSI 控制台颜色,即使
控制台不支持它
Verbosity -- 重写此记录器的 -verbosity
设置。
示例:
-consoleloggerparameters:PerformanceSummary;NoSummary;
Verbosity=minimal
-noConsoleLogger 禁用默认控制台记录器,并且不将事件
记录到控制台。(缩写: -noConLog)
-fileLogger[n] 将生成输出记录到文件中。默认情况下,
该文件在当前目录中,名称为
"msbuild[n].log"。所有节点中的事件合并到
单个日志中。fileLogger 的文件和
其他参数的位置可以通过添加
"-fileLoggerParameters[n]" 开关来指定。
"n" (如果存在)可以为 1-9 的数字,允许最多附加
10 个文件记录器。(缩写: -fl[n])
-fileloggerparameters[n]:<parameters>
为文件记录器提供任何额外的参数。
存在此开关意味着
存在对应的 -filelogger[n] 开关。
“n”(如果存在)可以为 1-9 的数字。
任何分布式文件记录器也可以使用
-fileloggerparameters,具体可参阅 -distributedFileLogger 的说明。
(缩写: -flp[n])
为控制台记录器列出的相同参数
可用。某些其他可用参数有:
LogFile -- 生成日志将写入其中的
日志文件的路径。
Append -- 确定是将生成日志附加到日志文件,
还是覆盖日志文件。如果设置此
开关,则会将生成日志附加到日志文件;
如果不设置此开关,则会覆盖
现有日志文件的内容。
默认值为不附加到日志文件。
Encoding -- 指定文件的编码,
例如,UTF-8、Unicode 或 ASCII
默认的详细程度为 Detailed。
示例:
-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>
使用此记录器来记录 MSBuild 中的事件,向每个节点
附加不同的记录器实例。要指定
多个记录器,请分别指定每个记录器。
(缩写形式 -dl)
<logger> 语法为:
[<class>,]<assembly>[,<options>][;<parameters>]
<logger class> 语法为:
[<partial or full namespace>.]<logger class name>
<logger assembly> 语法为:
{<assembly name>[,<strong name>] | <assembly file>}
记录器选项指定 MSBuild 创建记录器的方式。
<logger parameters> 是可选的,并且按键入的
形式原样传递给记录器。(缩写形式: -l)
示例:
-dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
-dl:MyLogger,C:My.dll*ForwardingLogger,C:Logger.dll
-distributedFileLogger
将生成输出记录到多个日志文件,每个 MSBuild 节点
一个日志文件。这些文件的初始位置为
当前目录。默认情况下,这些文件名为
“MSBuild<nodeid>.log”。可通过添加
“-fileLoggerParameters”开关来指定
这些文件的位置和 fileLogger 的其他参数。
如果日志文件名是通过 fileLoggerParameters
开关设置的,分布式记录器将使用 fileName 作为
模板并将节点 ID 附加到此 fileName
以便为每个节点创建一个日志文件。
-logger:<logger> 使用此记录器来记录 MSBuild 中的事件。要指定
多个记录器,请分别指定每个记录器。
<logger> 语法为:
[<class>,]<assembly>[,<options>][;<parameters>]
<logger class> 语法为:
[<partial or full namespace>.]<logger class name>
<logger assembly> 语法为:
{<assembly name>[,<strong name>] | <assembly file>}
记录器选项指定 MSBuild 创建记录器的方式。
<logger parameters> 是可选的,并按键入的
形式原样传递给记录器。(缩写形式: -l)
示例:
-logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
-logger:XMLLogger,C:LoggersMyLogger.dll;OutputAsHTML
-binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]]
将所有生成事件序列化为压缩的二进制文件。
默认情况下该文件位于当前目录并且名为 "msbuild.binlog"。
二进制日志是生成过程的详细描述,
以后可将其于重新构建文本日志
并由其他分析工具所使用。
二进制日志通常比大多数详细的文本诊断级日志小 10 到 20 倍,
但它可以包含更多信息。
(缩写: -bl)
默认情况下,二进制记录器收集项目文件的源文本,
包括生成期间所有导入的
项目和目标文件。可选的
ProjectImports 开关控制此行为:
ProjectImports=None - 不收集项目
导入项。
ProjectImports=Embed - 在日志文件中
嵌入项目导入项。
ProjectImports=ZipFile - 将项目文件保存到
output.projectimports.zip,
其中输出的名称
与二进制日志文件名称相同。
ProjectImports 的默认设置为 Embed。
注意: 记录器不会收集非 MSBuild 源文件,
例如 .cs、.cpp 等。
可将 .binlog 文件以参数(而不是项目/解决方案)的形式传递给
msbuild.exe 对其进行“播放”。
其他记录器将接收日志文件中的信息,
就像原始的生成正在发生一样。
你可以通过以下网址阅读有关二进制文件及其用法的详细信息:
https://aka.ms/msbuild/binlog
示例:
-bl
-bl:output.binlog
-bl:output.binlog;ProjectImports=None
-bl:output.binlog;ProjectImports=ZipFile
-bl:....custom.binlog
-binaryLogger
-warnAsError[:code[;code2]]
视为错误的警告代码列表。使用分号
或逗号分隔多个警告代码。将所有
警告视为错误,使用没有值的开关
(缩写: -err[:c;[c2]])
示例:
-warnAsError:MSB4130
当警告被视为错误时,目标将
当作警告继续执行,但是整个
生成将失败。
-warnAsMessage[:code[;code2]]
视为低重要性消息的警告代码列表。
使用分号或逗号分隔
多个警告代码。
(缩写: -noWarn[:c;[c2]])
示例:
-warnAsMessage:MSB3026
-validate 依据默认架构验证项目。(缩写:
-val)
-validate:<schema> 依据指定的架构验证项目。(缩写:
-val)
示例:
-validate:MyExtendedBuildSchema.xsd
-ignoreprojectextensions:<extensions>
确定要生成的项目文件时要忽略的
扩展名的列表。使用分号或逗号来分隔
多个扩展名。
(缩写: -ignore)
示例:
-ignoreprojectextensions:.sln
-nodeReuse:<parameters>
允许或禁止重复使用 MSBuild 节点。
参数包括:
True -- 生成完成后节点将保留,
并且将由后面的生成重复使用(默认)
False -- 生成完成后节点将不会保留
(缩写: -nr)
示例:
-nr:true
-preprocess[:file]
通过嵌入将在生成过程中导入的
所有文件并标记其边界,
创建一个聚合的项目文件。这对于
了解导入什么文件、从何处导入以及
这些文件在生成中的构成
非常有用。默认情况下,输出将写入
控制台窗口。如果提供输出文件的路径,
则将改用该路径。
(缩写: -pp)
示例:
-pp:out.txt
-targets[:file]
打印可用目标的列表,但不执行
实际生成过程。默认情况下,输出写入到
控制台窗口。如果输出文件的路径
已提供,则改用该路径。
(简写形式: -ts)
示例:
-ts:out.txt
-detailedSummary
在生成的结尾显示有关
所生成配置的详细信息,以及如何向节点安排
这些配置。
(缩写: -ds)
-restore[:True|False]
在生成其他目标前,运行名为 Restore 的
目标,并确保这些模板的生成
使用最新还原的生成逻辑。
项目树需要先将包还原才能
生成包时,将会用到此操作
指定 -restore 与指定
-restore:True 相同。请使用此参数
替代来自响应文件的值。
(缩写: -r)
-restoreProperty:<n>=<v>
在还原期间设置或重写这些项目级属性
并且不使用 -property 参数
指定的属性。<n> 为属性
名称,<v> 为属性值。使用
分号或逗号分隔多个属性,
或者分别指定每个属性。
(缩写: -rp)
示例:
-restoreProperty:IsRestore=true;MyProperty=value
-profileEvaluation:<file>
配置文件 MSBuild 求值并将结果写入
指定的文件。如果指定文件的扩展
为 .md,将以 markdown 格式生成
结果。否则,将生成制表符分隔文件。
-interactive[:True|False]
指示允许生成中的操作
与用户互动。请勿在不需要
互动的自动化场景中使用
此参数。
指定 -interactive 与指定
-interactive:true 相同。使用此参数替代
来自响应文件中的值。
-isolateProjects[:True|False]
使 MSBuild 独立生成每个项目。
这是 MSBuild 更具限制性的模式,因为它要求
可在评估时静态地发现项目
关系图,但可在生成大型项目集时
改善计划并降低内存开销。
(缩写: -isolate)
此标记处于试验阶段,可能无法按预期工作。
-inputResultsCaches:<cacheFile>...
输入缓存文件的分号分隔列表,MSBuild
将从这些文件中读取生成结果。
设置此列表还将打开分隔的生成(-isolate)。
(缩写: -irc)
-outputResultsCache:[cacheFile]
输出缓存文件,MSBuild 将在
生成结束时写入其生成结果缓存的内容。
设置它也会打开隔离的生成 (-isolate).
(short form: -orc)
-graphBuild[:True|False]
使 MSBuild 构造并生成项目关系图。
构造关系图涉及到识别对窗体依赖项
的项目引用。生成项目关系图
涉及到在引用项目引用前
尝试生成这些引用,这与
传统的 MSBuild 计划不同。
(缩写: -graph)
此标记处于试验阶段,可能无法按预期工作。
-lowPriority[:True|False]
导致 MSBuild 在低进程优先级的情况下运行。
指定 -lowPriority 与指定
-lowPriority:True 相同。
(缩写: -low)
@<file> 从文本文件插入命令行设置。若要指定
多个响应文件,请分别指定每个响应
文件。
自动从以下位置使用任何
名为 "msbuild.rsp" 的响应文件:
(1) msbuild.exe 的目录
(2) 生成的第一个项目或解决方案的目录
-noAutoResponse 不自动包括任何 MSBuild.rsp 文件。(缩写:
-noAutoRsp)
-noLogo 不显示启动版权标志和版权消息。
-version 仅显示版本信息。(缩写: -ver)
-help 显示此用法消息。(缩写: -? 或 -h)
示例:
MSBuild MyApp.sln -t:Rebuild -p:Configuration=Release
MSBuild MyApp.csproj -t:Clean
-p:Configuration=Debug;TargetFrameworkVersion=v3.5
有关更详细信息,请参阅 https://aka.ms/msbuild/docs
C:Program Files (x86)Microsoft Visual Studio2019Community>