MSBuild 响应文件
响应 (.rsp
) 文件是包含 MSBuild.exe 命令行开关的文本文件。 每个开关可以单独占一行,或者所有开关仅占一行。 注释行以 # 符号开头。 @ 开关用于将另一个响应文件传递给 MSBuild.exe。
MSBuild.rsp
autoresponse 文件是一个特殊 .rsp
文件, MSBuild.exe 在生成项目时自动使用。 此文件 MSBuild.rsp 必须与MSBuild.exe位于同一目录中,否则找不到该文件。 可以将此文件编辑为,向 MSBuild.exe 指定默认命令行开关。 例如,如果在每次生成项目时使用相同的记录器,则可以将 -logger 开关添加到 MSBuild.rsp, 并且MSBuild.exe 每次生成项目时都使用该记录器。
Directory.Build.rsp
在版本 15.6 及更高版本中,MSBuild 在项目的父目录中搜索名为 Directory.Build.rsp 的文件。 此文件在源代码存储库中非常有用,可在命令行生成期间提供默认参数。 此外,它还可以用于指定托管生成的命令行参数。
可以使用 Directory.Build.rsp 文件中的语法%MSBuildThisFileDirectory%
来引用包含 Directory.Build.rsp 文件的目录。 此语法要求对所有操作系统(如 Environment.ExpandEnvironmentVariables)进行百分比签名,即使 MSBuildThisFileDirectory
不是环境变量也是如此。
禁用响应文件
若要在特定的 MSBuild 调用中禁用自动处理默认响应文件 MSBuild.rsp 和 Directory.Build.rsp,请使用命令行选项 -noAutoResponse
。 在命令行上使用 @-syntax 显式引用的任何响应文件仍会进行处理。 请参阅 MSBuild 命令行参考。