.NET Core NuGet EF Core 版本不匹配

jos*_*i_h 5 c# entity-framework visual-studio .net-core

我正在关注本教程:教程

我搜索了大约4个小时,没有找到如何修复此错误的解决方案:

启动项目“DatabaseConnection”是 Visual Studio 2015 的 ASP.NET Core 或 .NET Core 项目。此版本的 Entity Framework Core 包管理器控制台工具不支持这些类型的项目。

我用以下命令生成了它:

Scaffold-DbContext "Server=127.0.0.1;Database=vicotv;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Run Code Online (Sandbox Code Playgroud)

接下来我尝试更新 EF SQL 服务器。

PM> Install-Package Microsoft.EntityFrameworkCore.Tools -Version 1.1.0-msbuild3-final
Run Code Online (Sandbox Code Playgroud)

获取 https://api.nuget.org/v3/registration1-gz/microsoft.entityframeworkcore.tools/index.json 获取 https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/Packages(Id ='Microsoft.EntityFrameworkCore.Tools',Version='1.1.0-msbuild3-final') OK https://api.nuget.org/v3/registration1-gz/microsoft.entityframeworkcore.tools/index.json 143ms 发现错误“https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/”的存储库:从源检索“Microsoft.EntityFrameworkCore.Tools.1.1.0-msbuild3-final”的包元数据时发生错误“微软和.NET”。任务被取消。从“nuget.org”检索包“Microsoft.EntityFrameworkCore.Tools 1.1.0-msbuild3-final”。安装 NuGet 包 Microsoft.EntityFrameworkCore.Tools.1.1.0-msbuild3-final。已成功将“Microsoft.EntityFrameworkCore.Tools 1.1.0-msbuild3-final”安装到 DatabaseConnection 执行 nuget 操作花费了 122.12 毫秒 已用时间:00:00:00.9439736

但出现此错误时,软件包未更新。

以下是我的project.json文件:

{
"buildOptions":{
    "emitEntryPoint":true,
    "preserveCompilationContext":true
},
"dependencies":{
    "Microsoft.EntityFrameworkCore.SqlServer":"1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer.Design":"1.1.0",
    "Microsoft.ApplicationInsights.AspNetCore":"2.0.0",
    "Microsoft.AspNetCore.Mvc":"1.1.1",
    "Microsoft.AspNetCore.Routing":"1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration":"1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel":"1.1.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables":"1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions":"1.1.0",
    "Microsoft.Extensions.Configuration.Json":"1.1.0",
    "Microsoft.Extensions.Logging":"1.1.0",
    "Microsoft.Extensions.Logging.Console":"1.1.0",
    "Microsoft.Extensions.Logging.Debug":"1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions":"1.1.0",
    "Microsoft.NETCore.App":"1.1.0",
    "Microsoft.EntityFrameworkCore.Design":"1.1.0",
    "Microsoft.EntityFrameworkCore":"1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools":"1.1.0-preview4-final",
    "Microsoft.EntityFrameworkCore.Tools":"1.1.0-msbuild3-final"
},
"frameworks":{
    "netcoreapp1.0":{
        "imports":[
            "dotnet5.6",
            "portable-net45+win8"
        ]
    }
},
"publishOptions":{
    "include":[
        "wwwroot",
        "**/*.cshtml",
        "appsettings.json",
        "web.config"
    ]
},
"runtimeOptions":{
    "configProperties":{
        "System.GC.Server":true
    }
},
"scripts":{
    "postpublish":[
        "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
    ]
},
"tools":{

},
"runtimes":{
    "win10-x86":{

    },
    "win10-x64":{

    }
}}
Run Code Online (Sandbox Code Playgroud)

我的点网信息:

下午 > dotnet --info

.NET 命令行工具 (1.0.0-preview2-1-003155)

产品信息:

版本:1.0.0-preview2-1-003155

提交 SHA-1 哈希值:d7b0190bd4

运行环境:

操作系统名称:Windows

操作系统版本:10.0.14393

操作系统平台:Windows

破解:win10-x64

我应该做些什么?

小智 1

我在尝试使用 Visual Studio 2015 .Netcore 数据项目为代码优先项目创建数据迁移时遇到类似的错误:

“启动项目‘Company.Application.Data’是 Visual Studio 2015 的 ASP.NET Core 或 .NET Core 项目。此版本的 Entity Framework Core 包管理器控制台工具不支持这些类型的项目。”

使用 PowerShell 使用以下步骤解决:

  1. 导航到项目目录(在我的例子中为 f:_dev\Company.Application.Data)
  2. 类型:dotnet 恢复
  3. 添加新的迁移示例类型: dotnet ef migrations add MyExampleMigrationName
  4. 您的迁移应该出现在 Visual Studio 中
  5. 根据需要编辑新迁移