msbuild help

2023-07-08 14:18:15 浏览数 (2)

代码语言: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>

0 人点赞