Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzer抛出了一个类型为'System.NullReferenceException'的异常。

6

我正在将一个包从.NET Core 2.1更新到.NET 5.0。我已经将所有程序集更新到最新版本,但是从分析器包中收到以下错误:

enter image description here

由于包含了之前更新到.NET 5.0的其他软件包,导致此错误发生。所有有问题的软件包在其项目文件中都包含以下内容:
  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

这导致我的项目依赖项中出现了两个 Microsoft.AspNetCore.Mvc.Analyzers 版本,因此我遇到了错误。

无论如何,除非更新所有包以消除它们需要包含 Microsoft.AspNetCore.App(超出当前开发范围),否则有没有人有解决此问题的建议? 我认为在 .Net 5.0 项目中指定此 FrameworkReference 包含对核心库有依赖是可以的。

2个回答

2
原来在依赖层次结构中,有一些引用仍然指向已弃用的Microsoft.AspNetCore包,尽管该包本身已被切换为针对.NET 5进行目标设置。

enter image description here

我通过在Visual Studio中的“解决方案资源管理器”中查看依赖项来找到有问题的包。我将它们移除,并用下面所示的单个框架引用替换了它们:

enter image description here

这句话的意思是“就像你有一个叔叔鲍勃一样,现在它可以工作了。”

-1

我升级了 .NET 6,并删除了这些软件包。 不需要它们,删掉它们。

        <!--<PackageReference Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Localization" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />-->

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接