Visual Studio 2017 RC 中的 NuGet 控制台不会添加迁移或更新数据库?



我最近有了一台新计算机,看到了一个新版本的Visual Studio。我尝试在Nuget Manager控制台中更新数据库,但我明白了。

软件包管理器控制台的实体框架核心命令尚未支持基于CSPROJ的.NET核心项目。使用.NET命令行工具(即dotnet EF)。有关更多详细信息,请参见https://go.microsoft.com/fwlink/?linkid=834381。

然后,

i然后按照说明使用dotnet cli(以前从未使用过它,所以不确定如何使用它)添加了工具,然后恢复了dotnet。然后,我输入dotnet EF数据库更新以添加我已经存在的迁移,但这是出现的:

dotnet:没有可执行的匹配命令" dotnet-ef"

在线:1 char:1

  • dotnet EF数据库更新
  • categoryInfo:未指定:(没有可执行的f ...和" dotnet-ef":string)[] [],remoteexception
  • 完全QualifiedErrid:nativecommanderror

我假设您已将EF-Tools软件包添加到您的项目中。

您应该有一个看起来像这样的部分:

"tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
},

我通常打开Nuget软件包控制台并在此处键入迁移命令。无需再将该命令带有" dotnet ef"。这样,它与EF6框架体验没有很大的不同。

我刚刚在ASP.NET核心网站上也找到了一个很好的教程:https://learn.microsoft.com/en-us/ef/core/core/get-started/aspnetcore/new-db

找到您项目的路径 project.json文件存储的位置。您可以在软件包管理员控制台中使用" CD "命令首先找到路径。然后再次键入" dontnet ef"。

因为Package Manager控制台在项目文件夹中时只能理解" dotnet-ef"(with project.json中的文件夹)。

我与实体框架核心有同样的问题。您需要100%确定您的代码和Nuget依赖性没有问题。现在,当我遇到这些问题时,我会运行代码分析并解决那里的所有问题。如果那不起作用,我会在项目上转到命令行并运行:

dotnet restore
dotnet build
dotnet pack 

我再次解决可能出现的任何问题。

这有80%以上的时间。如果那不揭露正在绊倒EF的内容,然后我运行Web应用程序的发布。

对我来说,其中一些错误来自我的种子数据例程,即使没有被调用。我诉诸于评论整个种子数据代码以使EF工作。

谢谢约翰

最新更新