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 命令行参考

请参阅