C# 检测到Microsoft.EntityFrameworkCore.Install的版本冲突

C# 检测到Microsoft.EntityFrameworkCore.Install的版本冲突,c#,.net-core,asp.net-core-webapi,ef-core-2.1,C#,.net Core,Asp.net Core Webapi,Ef Core 2.1,将asp.net核心api添加到我正在处理的现有项目时,我遇到以下错误 “检测到Microsoft.EntityFrameworkCore的版本冲突。直接将Microsoft.EntityFrameworkCore 2.2.1安装/引用到project以解决此问题” 我试图添加Nuget包,但在许多不同的包中会出现更多版本冲突,并且该过程总是失败。 起初我认为这可能是我的项目中的一个问题,所以我从头开始创建了一个新的解决方案,并通过几个简单的步骤成功地复制了这个问题 创建新解决方案(EFDemo

将asp.net核心api添加到我正在处理的现有项目时,我遇到以下错误

“检测到Microsoft.EntityFrameworkCore的版本冲突。直接将Microsoft.EntityFrameworkCore 2.2.1安装/引用到project以解决此问题”

我试图添加Nuget包,但在许多不同的包中会出现更多版本冲突,并且该过程总是失败。 起初我认为这可能是我的项目中的一个问题,所以我从头开始创建了一个新的解决方案,并通过几个简单的步骤成功地复制了这个问题

  • 创建新解决方案(EFDemo)
  • 向名为EFDemo.BL的解决方案中添加一个新的.net核心类库
  • 将以下Nuget包添加到项目EFDemo.BL中(因为我正在为新项目使用现有数据库)
  • Microsoft.EntityFrameworkCore.SqlServer(v2.2.1)
  • Microsoft.EntityFraneworkCore.Tools(v2.2.1)
  • 添加一个名为EFDemo.Api的新.net核心web应用程序,并选择Api项目模板
  • 添加从EFDemo.BL到EFDemo.Api的引用
  • 构建并查看失败
  • 我已经阅读了下面的文章,但是它的解决方案对我来说不起作用,因为我的csproj文件中没有提到“Microsoft.EntityFrameworkCore”。


    我还重新安装了.net SDK,重新启动了一百万次,但仍然无法理解问题所在。

    我不确定您在项目中安装了什么软件包

    但现在VisualStudio只添加了一个nuget包,其中包括asp.net核心应用程序所需的所有包

    尝试安装此软件包并删除所有其他软件包,然后查看是否适合您


    这样,至少在Microsoft软件包中不会有版本冲突。然后,您可以验证可能已安装的导致问题的其他外部软件包。

    这个问题的答案很难分类,因为我在试图找出答案时做了许多更改。 最后,我相信以下步骤解决了我的问题:

    • 将VS升级至最新版本(v15.9.3)
    • 卸载.Net Core 2.1和2.2 SDK(我的项目当时使用的是2.1)
    • 安装.Net Core 2.2 SDK
    • 将我的解决方案中的所有项目转换为使用.Net Core 2.2(很痛苦。我希望有一个“全部重定目标”功能!)
    • 重新启动、清理、构建,一切正常。呸

    现在做些工作,而不是用我的工具打架

    对我来说,这对本文很有帮助,这是对配置的一个非常简单的更改,我忘了更改:

    <PropertyGroup>
      <TargetFramework>netcoreapp2.2</TargetFramework>
    </PropertyGroup>
    
    
    netcoreapp2.2
    

    我最近遇到了同样的错误

    我做了些什么来解决这个问题:

    已安装.Net Core 2.2 SDK

    然后在我的项目中,我更改了所有.csproj文件:

      <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    
    
    netcoreapp2.2
    

    鉴于在此之前:

          <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    
    
    netcoreapp2.1
    


    这立即起到了作用,错误消失了。

    我只是安装了.NET Core 2.2并将TargetFramework标记更改为netcoreapp2,就解决了这个问题

    <PropertyGroup>
      <TargetFramework>netcoreapp2.2</TargetFramework>
    </PropertyGroup>
    
    
    netcoreapp2.2
    
    我已经按照步骤解决了问题

  • 下载并安装最新的框架(我的例子是DotnetCore2.2)
  • 从项目属性将项目目标框架设置为最高(在我的例子中是DotnetCore2.2)
  • 清洁溶液 4重建解决方案
  • 更新任何版本争议(可选)
  • 重建和保存

  • 希望这能有所帮助。

    不幸的是,这对我不起作用,但谢谢你的建议!该包带来了大量的依赖项,这些依赖项可能相互冲突。例如,我的版本依赖于EntityFrameworkCore>=2.1.1&&<2.2.0对于我来说,我只需要安装新的SDK(2.2)并删除旧的SDK(2.1),而对于我来说,我正试图安装
    Microsoft.EntityFrameworkCore.SqlServer
    2.2.6,但对web api没有任何乐趣。当我将属性更改为2.2时,我遇到了一个错误,所以我刚刚用2.2创建了一个新的web api应用程序,并安装了
    Microsoft.EntityFrameworkCore.SqlServer
    ,安装时没有问题。不确定我是否还需要其他东西。是的,这很有帮助,谢谢。同样在安装.NET Core 2.2并将TargetFramework更改为2.2之后,我还不得不将我的WebAPI项目“Microsoft.AspNetCore.App”更改为版本“2.2.5”