VS2019 中 ASP.NET Core 2.2 项目中的分析器警告

Pus*_*ots 18 visual-studio asp.net-core visual-studio-2019

我有一个基本上是从默认 Razor Pages 模板创建的默认 ASP.NET Core 2.2 项目。

现在,在解决方案资源管理器 -> 依赖项中有一个名为“分析器”的节点。

首先,一开始我不知道它是做什么用的。我想我现在知道了,但它仍然有点模糊。

其次,为什么它有一个警告图标?与其子节点相同。

注意:我不在“NuGet”节点下,所以这不是关于缺少依赖项或类似问题的问题。

第三;如果这个“功能”只是为了迷惑我,为什么会在那里?!

在此处输入图片说明

Pav*_*tov 11

我遇到过同样的问题。在我以管理员权限重新启动 Visual Studio 后,分析器标题开始显示名称而不是路径,并且“警告”消失了。

编辑

有一个关于它的GiHub 问题

临时修复方法是关闭解决方案并删除 .vs 文件夹中的 .dtbcache 文件。


jes*_*ing 2

每个分析器程序集下的警告是在代码中发现的问题。通过这些程序集中的规则找到。

随着 Roslyn 编译器的引入,即使在编译器运行之前分析源代码也变得更加容易。这些规则打包在特殊的 nuget 包中。当这些规则运行时,它们会显示在错误窗口和此列表中。

如果某个规则行为不当,或者您想要将其关闭,或者您只想查看 MVC 规则,则此视图非常有用。

当分析器本身遇到问题时(有些分析器不如其他分析器好),相应的问题也会显示在此处。看起来 RS* 规则实际上是规则本身的问题。

  • 我明白你在说什么,但我不明白这些 .dll 如何是我的代码。那些不是我写的。每个 .dll 下的单独规则也没有说明我的问题位于我自己的文件中的哪个文件中。我能想到的最直观的事情是,如果我双击这些规则之一,VS 应该自动带我到那段代码? (11认同)
  • 我对新生成的空 aspnet core 3.1 api 项目也有同样的问题。它报告的一个问题是“ASP0000:不要在‘ConfigureServices’中调用‘IServiceCollection.BuildServiceProvider’”。该方法中唯一的代码行是“services.AddControllers();” 我没有把它放在那里。因此,报告的问题不是我的,原因有两个:首先,这段代码不是我写的,它是框架搭建的。其次,它所报告的问题是完全错误的。 (2认同)