如何在Visual Studio 2019的C#项目中使用自定义响应文件(response file)
你的认知完全正确,C#的响应文件(.rsp)确实使用.rsp后缀,语法和csc命令行参数完全一致。
问题1:自定义response file的存放路径
- 项目级别的自定义rsp直接放在对应C#项目的根目录即可,即与
.csproj项目文件同级目录。 - 若需要对本地所有C#项目生效,可以放在对应.NET SDK版本的Roslyn目录下(与全局默认
csc.rsp同目录),但不推荐这种全局修改方案,容易影响其他不相关项目的构建逻辑。
注意:仅把rsp文件放到目录下不会自动生效,你需要修改.csproj文件添加配置,在
<PropertyGroup>节点中加入如下内容:<AdditionalResponseFiles>你的自定义响应文件名.rsp</AdditionalResponseFiles>多个rsp文件用英文分号分隔即可。如果是通过命令行构建,也可以直接在构建命令中用
@自定义文件.rsp的格式指定路径,不需要提前放到项目目录。
问题2:response file的处理优先级
VS构建时的处理顺序为:先加载处理全局默认rsp、项目构建自动生成的临时rsp,最后处理你配置的自定义rsp。
如果自定义rsp中的参数和默认rsp的参数冲突,自定义rsp的参数会覆盖默认值,因为后加载的参数优先级更高。如果是在命令行中通过@语法指定的rsp,优先级会高于所有项目配置的rsp。
内容的提问来源于stack exchange,提问作者BenevolentDeity
相关产品推荐
相关产品推荐

