某些项目的依赖项包含无法解释的代码分析器

Some projects' dependencies contain unexplained code analyzers

我有几个项目,其中 Dependencies 有一个或两个代码分析器分支,如下所示:

我尝试按照说明在每个分支上单击鼠标右键here but there is no option to configure them and I also searched for *.ruleset files insinde the solution, I also check the packages as shown in the docs,但在任何地方都没有类似的东西。

.csproj 文件中也没有任何可疑之处,只是我安装的一些 nuget 包,但与分析器无关。

如何摆脱它们?当我在其他解决方案中引用此类项目并且 nuget restore 也没有修复它时,他们会给我警告:

我不知道他们来自哪里。有些项目有它们,有些则没有。但是,它们似乎与安装在这些项目中的 ASP.NET CoreMVC 包有关。

我已通过删除 microsoft.codeanalysis.analyzers 文件夹并执行 nuget restore 修复了警告。它们仍在 Dependencies 之下,但至少感叹号消失了。

我还通过向每个 AspNetCore 包添加 <ExcludeAssets>analyzers</ExcludeAssets> 指令 来设法删除分析器:

<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.3">
  <ExcludeAssets>analyzers</ExcludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.1.1" >
  <ExcludeAssets>analyzers</ExcludeAssets>
</PackageReference>

现在他们终于走了。

Search Gcop in nuget package manager removes the installed packages prefixed with GCop. this will remove the code analyzer references from your project

Visual Studio 中有一个 错误,应该会很快修复。 当 Visual Studio 加载解决方案的所有项目并尝试解析所有依赖项以在解决方案资源管理器中显示时,某些依赖项可能会失败并显示为警告,其中包含可能的依赖项文件的路径。

解决方法:

右键单击带有警告的项目,然后在菜单上 select Unload Project。然后再次右击它select Reload Project。因为 Visual Studio 与加载整个解决方案的所有内容时相比,后台进程不那么忙,因此很可能会解决依赖关系。它似乎总是对我有用。