MSBuild 编译 C# Solution
Microsoft(R) 生成引擎版本 4.6.1055.0 [Microsoft .NET Framework 版本 4.0.30319.42000] 版权所有 (C) Microsoft Corporation。保留所有权利。 语法: 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-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> 语法为: [<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 yourproject.sln /p:Configuration=Release /p:Platform=x64 /p:
参考
作者:旭东
出处:http://www.cnblogs.com/HQFZ
关于作者:专注于微软平台项目架构、管理和企业解决方案。现主要从事WinForm、ASP.NET、WPF、WCF、等方面的项目开发、架构、管理。如有问题或建议,请不吝指教!
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以联系我,非常感谢。
如果您该文觉得不错或者对你有帮助,请点下推荐,让更多的朋友看到,谢谢!