码迷,mamicode.com
首页 > 其他好文 > 详细

MSBuild

时间:2015-06-04 06:08:28      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

MSBuild在MSDN MSBuild 文档中有较为详细的描述,在项目中我们可能更多的是想通过它来Build更方便的Build我们的工程,本文主要整理并介绍使用MSBuild的一些方法,命令行参数等等。

语法:                             MSBuild.exe [选项] [项目文件]

 

描述:                    在项目文件中生成指定的目标。如果

                     未指定项目文件,MSBuild 将搜索

                     当前工作目录来查找文件扩展名

                     以“proj”结尾的文件并使用该文件。

 

开关:

 

  /target:<targets>  在此项目中生成这些目标。使用

                     分号或逗号分隔多个目标,或者分别指定

                     每个目标。(缩写: /t)

                     示例:

                       /target:Resources;Compile

 

  /property:<n>=<v>  设置或重写这些项目级属性。<n>

                     属性名,<v> 为属性值。请使用

                     分号或逗号分隔多个属性,或者

                     分别指定每个属性。(缩写: /p)

                     示例:

                       /property:WarningLevel=2;OutDir=bin\Debug\

 

  /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 -- 即使在非多处理器

                            模式下运行,也启用多处理器

                            日志记录样式。默认情况下启用此日志记录样式。

                        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-8Unicode 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> 语法为:

                       [<logger class>,]<logger assembly>[;<logger parameters>]

                     <logger class> 语法为:

                       [<partial or full namespace>.]<logger class name>

                     <logger assembly> 语法为:

                       {<assembly name>[,<strong name>] | <assembly file>}

                     <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> 语法为:

                       [<logger class>,]<logger assembly>[;<logger parameters>]

                    <logger class> 语法为:

                        [<partial or full namespace>.]<logger class name>

                   <logger assembly> 语法为:

                        {<assembly name>[,<strong name>] | <assembly file>}

                     <logger parameters> 是可选的,并按键入的

                    形式原样传递给记录器。(缩写: /l)

                     示例:

                       /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

                       /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

 

  /validate          依据默认架构验证项目。(缩写:

                     /val)

 

  /validate:<schema> 依据指定的架构验证项目。 (缩写:

                     /val)

                     示例:

                       /validate:MyExtendedBuildSchema.xsd

 

  /ignoreprojectextensions:<扩展名>

                     确定要生成的项目文件时要忽略的

                     扩展名的列表。使用分号或逗号来分隔

                     多个扩展名。

                     (缩写: /ignore)

                     示例:

                       /ignoreprojectextensions:.sln

 

  /nodeReuse:<parameters>

                     允许或禁止重复使用 MSBuild 节点。

                     参数包括:

                     True -- 生成完成后节点将保留,

                             并且将由后面的生成重复使用(默认)

                     False -- 生成完成后节点将不会保留

                     (缩写: /nr)

                     示例:

                       /nr:true

 

  /preprocess[:file]

                     通过嵌入将在生成过程中导入的

                     所有文件并标记其边界,

                     创建一个聚合的项目文件。这对于

                     了解导入什么文件、从何处导入以及

                     这些文件在生成中的构成

                     非常有用。默认情况下,输出将写入

                     控制台窗口。如果提供输出文件的路径,

                     则将改用该路径。

                     (缩写: /pp)

                      示例:

                       /pp:out.txt

 

  /detailedsummary

                     在生成的结尾显示有关

                     所生成的配置以及如何向节点安排

                     这些配置的详细信息。

                     (缩写:  /ds)

 

  @<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

 

MSBuild

标签:

原文地址:http://www.cnblogs.com/haizhibin1989/p/4550725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!