我正在尝试使用nuget包中的自定义规则集文件。我将给定的.props添加到包的build文件夹中:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CodeAnalysisRuleSet>MyProject.CodeAnalysis.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
</Project>
将nuget软件包安装到项目后,我看到规则集文件位于软件包的根文件夹中,路径正确:
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MyProject.CodeAnalysis.3.0.0\build\MyProject.CodeAnalysis.props" Condition="Exists('..\packages\MyProject.CodeAnalysis.3.0.0\build\MyProject.CodeAnalysis.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
但是Visual Studio没有看到正确的规则集。当我从参考->分析器中打开活动规则集时,它指向的是其他文件:MinimumRecommendedRules.ruleset。因此,它使用的是该文件中的规则,而不是我的文件中的规则。
我的.nuspec文件包含以下代码:
<files>
<file src="MyProject.CodeAnalysis.ruleset" target="content/StyleCop" />
<file src="build\**\*.*" target="build" />
</files>
Nuget Package Explorer中nuget包的结构如下:
我的配置是:
我做错了什么?
P.S。我看到了这些帖子,但他们没有帮助我:
代码分析规则集未从nuget包更新