EF7命令在VS2015 CTP 6中不起作用

时间:2015-04-01 08:03:53

标签: asp.net-mvc-5 entity-framework-core


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

  1. 基于模板" ASP.NET 5预览入门网站"
  2. 创建了新项目
  3. 构建
  4. 在程序包管理器控制台中尝试命令Add-Migration
  5. 结果:

      

    术语“添加迁移”'不被识别为cmdlet的名称,   功能,脚本文件或可操作程序。

    我也尝试这个命令:

    Install-Package EntityFramework.Commands -Pre
    

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

    提前感谢您提供线索......

2 个答案:

答案 0 :(得分:1)

NuGet命令不适用于ASP.NET 5项目。您需要使用命令的ASP.NET 5命令行版本。 (例如k ef migration add)我们有一个问题aspnet/DNX#952可以解锁此方案,但它没有看到太多活动。

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

答案 1 :(得分:0)

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

之类的路径
  

C:\用户\ YourUserName \ .nuget \包\ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2-最终

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

  

CD   " C:\用户\ YourUserName \ .nuget \包\ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2决赛\工具"

然后按Enter键。然后,要在PowerShell中初始化模块,只需键入

即可
  

。 \ init.ps1

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

  

C:\用户\ YourUserName \ .nuget \包\ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2-最终\工具\ init.ps1

不幸的是,每次弹出错误时你都必须这样做,但是如果你只是将路径保存在.txt文件中或者在项目中的某个地方注释很容易找到它就不会那么糟。