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

时间:2018-11-29 15:45:06

标签: c# projects-and-solutions roslyn-code-analysis

我有几个项目,在Dependencies下有一个或两个这样的代码分析器分支:

enter image description here

我按照说明的here尝试在每个分支上单击鼠标右键,但是没有配置它们的选项,并且还在解决方案中搜索了*.ruleset文件,我还检查了软件包,如下所示docs,但任何地方都没有。

.csproj文件中也没有可疑的东西,只有我已安装的一些nuget软件包,而与分析器无关。

我如何摆脱它们?当我在其他解决方案中引用此类项目时,它们会向我发出警告,而nuget restore也无法解决该问题:

enter image description here

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

3 个答案:

答案 0 :(得分:4)

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

解决方法:

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

答案 1 :(得分:0)

我已通过删除microsoft.codeanalysis.analyzers文件夹并执行nuget restore来修复警告。它们仍位于Dependencies下,但至少没有感叹号。

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

<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>

现在它们终于消失了。

答案 2 :(得分:0)

  

在nuget软件包管理器中搜索Gcop会删除已安装的软件包   以GCop为前缀。这将从以下代码分析器引用中删除   您的项目