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 不是环境变量也是如此。

注释

Visual Studio(IDE)在 IDE 内部生成时 不应用.rsp 响应文件,例如 MSBuild.rspDirectory.Build.rsp应用响应文件。 仅当通过 msbuild.exe 命令行 dotnet build 工具运行 MSBuild 时,才会处理这些文件。

禁用响应文件

若要在 MSBuild 的特定调用中禁用自动处理默认响应文件 MSBuild.rspDirectory.Build.rsp ,请使用命令行选项 -noAutoResponse。 仍会处理使用命令行上的 @语法显式引用的任何响应文件。 请参阅 MSBuild 命令行参考

另请参阅