【发布时间】:2020-05-22 14:15:54
【问题描述】:
我正在尝试使用 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 没有看到正确的规则集。当我从 References -> Analyzers 打开活动规则集时,它指向不同的文件:MinimumRecommendedRules.ruleset。所以它使用的是这个文件中的规则,而不是我的。
我的 .nuspec 文件包含以下代码:
<files>
<file src="MyProject.CodeAnalysis.ruleset" target="content/StyleCop" />
<file src="build\**\*.*" target="build" />
</files>
Nuget Package Explorer 中 nuget 包的结构如下所示:
- 构建
- MyProject.CodeAnalysis.props
- 内容
- 风格警察
- MyProject.CodeAnalysis.ruleset
- 风格警察
我的配置是:
- Visual Studio 2019,版本。 16.6.0
- 项目目标:.NET Framework v4.7.2
我做错了什么?
附:我看到了这些帖子,但他们没有帮助我:
【问题讨论】:
标签: c# nuget visual-studio-2019 stylecop