MSBuild 编译 C# Solution
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | 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、等方面的项目开发、架构、管理。如有问题或建议,请不吝指教!
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以联系我,非常感谢。
如果您该文觉得不错或者对你有帮助,请点下推荐,让更多的朋友看到,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?