首页 > 解决方案 > 试图从 .net 5 降级到 .net core 3.1,现在出现奇怪的错误

问题描述

我试图从 .net 5 降级到 .net core 3.1。现在我改变了主意,想恢复到 .net 5。现在,当我尝试安装 Nuget 包时,我遇到了奇怪的错误。我需要做什么?它要求 Microsoft.CodeAnalysis.Common 3.8。但是那个包说“不要手动安装这个包,它会被其他需要它的包作为先决条件添加”。

严重性代码说明项目文件行源抑制状态错误 NU1107 检测到 Microsoft.CodeAnalysis.Common 的版本冲突。将 Microsoft.CodeAnalysis.Common 3.8.0 直接安装/引用到项目 PROJECT 以解决此问题。项目 -> Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 5.0.2 -> Microsoft.CodeAnalysis.Razor 5.0.2 -> Microsoft.CodeAnalysis.Common (>= 3.8.0) 项目 -> Telerik.UI.for.AspNet。核心 2021.1.119 -> Microsoft.CodeAnalysis 3.7.0 -> Microsoft.CodeAnalysis.CSharp.Workspaces 3.7.0 -> Microsoft.CodeAnalysis.Common (= 3.7.0)。项目 C:\Users\ntimmerman\source\repos\PROJECT\PROJECT\PROJECT.csproj 1 IntelliSense

如果我继续安装它,我会收到警告:

严重性代码描述项目文件行源抑制状态警告 NU1608 检测到超出依赖关系约束的包版本:Microsoft.CodeAnalysis.CSharp.Workspaces 3.7.0 需要 Microsoft.CodeAnalysis.Common (= 3.7.0) 但版本 Microsoft.CodeAnalysis.Common 3.8。 0 已解决。项目 C:\Users\ME\source\repos\PROJECT\PROJECT\PROJECT.csproj 1 构建

CSPROJ 文件是:

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
  <TargetFramework>net5.0</TargetFramework>
  <RootNamespace>PROJECT</RootNamespace>
  <UserSecretsId>SECRETID</UserSecretsId>
</PropertyGroup>

<ItemGroup>
  <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.2" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Version="5.0.2" />
   <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.2">
   <PrivateAssets>all</PrivateAssets>
   <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
  <PackageReference Include="Microsoft.Graph" Version="3.23.0" />
  <PackageReference Include="Microsoft.Identity.Web" Version="1.5.1" />
  <PackageReference Include="Microsoft.Identity.Web.UI" Version="1.5.1" />
  <PackageReference Include="Telerik.UI.for.AspNet.Core" Version="2021.1.119" />
</ItemGroup>

 <ItemGroup>
  <None Update="AdventureCycles-Logo.png">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
 </ItemGroup>

</Project>

标签: asp.net.net-5

解决方案


这并不是很奇怪的行为,错误消息告诉你出了什么问题。

您的依赖项本身可以具有依赖项,并且这些依赖项可以从同一包的版本更改为版本。如果您对具有不兼容版本范围的同一个包有两个依赖项(在您的情况下,您完全依赖于Microsoft.CodeAnalysis.Common 的 3.7.0 版本,并且看起来像是对具有范围的同一个包的另一个依赖项 > = 3.8.0) 那么就无法同时满足两者,它就这样失败了。

除了找到具有冲突依赖项的包并引用它的另一个没有此依赖项的版本之外,也没有其他方法可以解决此问题(听起来您已经这样做了)


推荐阅读