未从nuget包更新代码分析规则集

问题描述 投票:0回答:1

我正在尝试使用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包的结构如下:

  • 构建
    • MyProject.CodeAnalysis.props
  • 内容
    • StyleCop
      • MyProject.CodeAnalysis.ruleset

我的配置是:

  • Visual Studio 2019,ver。 16.6.0
  • 项目目标:.NET Framework v4.7.2

我做错了什么?

P.S。我看到了这些帖子,但他们没有帮助我:

  1. Code Analysis is not working with ruleset from nuget package (from .props)
  2. Add code analysis ruleset through nuget package
c# nuget visual-studio-2019 stylecop
1个回答
0
投票
代码分析规则集未从nuget包更新
© www.soinside.com 2019 - 2024. All rights reserved.