.NET 分析器规则集优先级
.NET Analyzer Rulset priority
我多次出现分析器规则集,我 运行 和 CodeAnalysisRuleSet
。有些是在公司范围内自动注入的(通过引用的 nuget 包中的道具文件),但在某些情况下,我想为我的特定解决方案或项目覆盖一些规则。
仅使用注入的规则集,按预期工作。仅使用解决方案规则集即可。但是当同时使用两者时,只有注入的有效,另一个被忽略。即使是解决方案规则集独有的规则也会被忽略。
我能否以某种方式合并两个规则集,而不在一个父文件中引用它们?因为它是一个 nuget 包,所以我不能使用 Include,因为 nuget 文件位于某个缓存文件夹中...
编辑 1:
我也尝试在 nuget 包文件中使用 Include,但该路径无法处理 MSBuild 众所周知的路径(如 MSBuildProjectDirectory 等)
我想通了:我将导入的规则集添加到 Directory.build.props 并覆盖了 Directory.build.targets 中的规则集。
重要的是添加完整的规则集文件,而不仅仅是增量,因为它没有合并。
另外一定要清洗溶液和close/reopen visual studio。更改不会立即生效(至少对于 VS 2022)
我多次出现分析器规则集,我 运行 和 CodeAnalysisRuleSet
。有些是在公司范围内自动注入的(通过引用的 nuget 包中的道具文件),但在某些情况下,我想为我的特定解决方案或项目覆盖一些规则。
仅使用注入的规则集,按预期工作。仅使用解决方案规则集即可。但是当同时使用两者时,只有注入的有效,另一个被忽略。即使是解决方案规则集独有的规则也会被忽略。
我能否以某种方式合并两个规则集,而不在一个父文件中引用它们?因为它是一个 nuget 包,所以我不能使用 Include,因为 nuget 文件位于某个缓存文件夹中...
编辑 1:
我也尝试在 nuget 包文件中使用 Include,但该路径无法处理 MSBuild 众所周知的路径(如 MSBuildProjectDirectory 等)
我想通了:我将导入的规则集添加到 Directory.build.props 并覆盖了 Directory.build.targets 中的规则集。
重要的是添加完整的规则集文件,而不仅仅是增量,因为它没有合并。
另外一定要清洗溶液和close/reopen visual studio。更改不会立即生效(至少对于 VS 2022)