gpt4 book ai didi

.net - 在解决方案级别管理 Microsoft 和 StyleCop 代码分析规则

转载 作者:行者123 更新时间:2023-12-04 16:04:14 26 4
gpt4 key购买 nike

我正在尝试将代码分析引入我们的项目,所以我开始使用 .NET Framework 和 .NET Standard 项目的解决方案。

我关注了 this tutorial但总而言之,这就是我所做的:

  • 添加了 SolutionName.ruleset解决方案级别的文件
  • 添加了 stylecop.json解决方案级别的文件,并在每个项目中将此文件作为链接引用
  • 已安装 StyleCop.Analyzers 1.1.0-beta009每个项目上的 Nuget 包
  • 已安装 Microsoft.NetCore.Analyzers .NET Standard 项目和 Microsoft.NetFramework.Analyzers .NET Framework 项目

  • 首先,Visual Studio 看起来很糟糕,但这可能是由于我不明白的一些黑魔法。

    如果我单击解决方案资源管理器中的规则集文件,我会稍微勾选和取消勾选每个规则组的几个复选框,然后重新构建以查看“错误列表”窗口中的更改,但不久之后它就没有了不再工作了。我什至试图取消选择所有内容,重新构建,但我所有的警告仍然存在。使它们消失的唯一方法是关闭 Visual Studio。

    如屏幕截图所示,我扩展了名为 ConfigLibrary 的 .NET Standard 库项目。看看它有几个相关的分析器。

    enter image description here

    问题是所有这些规则似乎都来自 Nuget 包的 DLL C:\Users\user\.nuget\packages\stylecop.analyzers\1.1.0-beta009\analyzers\dotnet\cs\StyleCop.Analyzers.dll .

    如果我取消选择 StyleCop.Analyzers规则集文件中的规则,它什么也不做,如果我使用搜索文本框搜索这些规则代码,它会显示它们未被选中。但最终这些规则仍然适用......

    当我尝试卸载 StyleCop.Analyzers 时适用于所有项目的 Nuget 包,那么即使在我的规则集文件中选择了规则,我也不会收到所有这些警告。

    另外我的规则集文件经常被我不知道是什么进程自动重写。即使在我重新启动 Visual Studio 后,这些规则也不再起作用

    enter image description here

    那么在 .NET Framework 和 .NET Core 项目的解决方案级别处理一些代码分析规则的正确方法是什么?

    如何避免分析器的 DLL 覆盖我在规则集文件中定义的规则?是否有解决方法可以使 Visual Studio 正确刷新应用的规则? Build , RebuildRun code analysis on solution都是有问题的,只有重新启动 Visual Studio 才能工作,但这是一种繁重的解决方法,尤其是所有这些规则......

    是我不理解基本概念还是我在 .NET Core 中遇到了一些奇怪的错误?谢谢

    最佳答案

    查找规则集文件并将其复制到您的存储库,将其重命名为“My Rules.ruleset”或其他名称。

    例如,拿这个:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Static Analysis Tools\Rule Sets\MinimumRecommendedRules.ruleset

    根据您的规则为您要验证的项目安装包。

    对于所有这些项目:
  • 转到属性,代码分析页面
  • 打开“运行此规则集:”下拉框并选择“”。
  • 选择您的规则集文件。
  • 将规则集文件添加到您的解决方案并打开它。
  • 调整你的规则。
  • build !
  • 关于.net - 在解决方案级别管理 Microsoft 和 StyleCop 代码分析规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52868500/

    26 4 0
    文章推荐: google-maps - IONIC 2 -
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com