1


我正在尝试在新的 asp.net 5 预览项目上运行 ef7 迁移。
我采取的步骤:

  1. 基于模板“ASP.NET 5 preview starter web”创建新项目
  2. 构建它
  3. Add-Migration在包管理器控制台中尝试命令

结果:

术语“Add-Migration”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。

我也试试这个命令:

Install-Package EntityFramework.Commands -Pre

我认为 VS 2015 项目是多余的,它执行但仍然无法识别 Add-Migration。

提前感谢您的线索...

4

2 回答 2

1

NuGet 命令不适用于 ASP.NET 5 项目。您需要使用命令的 ASP.NET 5 命令行版本。(例如k ef migration add)我们打开了一个问题aspnet/DNX#952来解除对这种情况的阻止,但它没有看到太多活动。

要了解有关 ASP.NET 命令的更多信息,请参阅我的帖子EF7 迁移:ASP.NET 命令

于 2015-04-01T16:43:38.970 回答
0

好的,我知道这是一个老问题,并且已经在技术上得到了回答。也就是说,如果您想打开命令提示符并执行此操作。此问题的根本原因是 PowerShell 模块未初始化。不过有一个简单的解决方法。您只需要初始化模块。转到您的解决方案资源管理器。转到 References >> .NETCoreApp,Version=v1.0 然后向下滚动,直到找到 Microsoft.EntityFrameworkCore.Tools 右键单击​​并显示属性。记下它应该类似于的路径

C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview2-final

完成后,转到文件资源管理器中的路径位置。您应该会看到另一个名为 tools 的文件夹。在该文件夹中,您将看到一个名为 init.ps1 的 .ps1 文件。这是我们需要初始化的模块。所以回到 Visual Studio,我使用的是 VS 2015 pro 和 Win 10 pro,打开包管理器控制台。输入以下内容

cd "C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview2-final\tools"

然后按回车。然后在 PowerShell 中初始化一个模块,你只需要输入

. .\init.ps1

或者我相信您可以完成整个路径并获得相同的结果,这样就可以了

C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview2-final\tools\init.ps1

不幸的是,每次弹出错误时您都必须这样做,但如果您只是将路径保存在 .txt 文件中或在项目中容易找到的某个位置对其进行注释,这还不错。

于 2016-09-22T14:54:22.420 回答