EF7 命令在 VS2015 CTP 6 中不起作用
EF7 commands do not work in VS2015 CTP 6
我正在尝试 运行 ef7 迁移到新的 asp.net 5 预览项目。
我采取的步骤:
- 根据模板创建了新项目"ASP.NET 5 preview starter web"
- 建造它
- 在程序包管理器控制台中尝试命令
Add-Migration
结果:
The term 'Add-Migration' is not recognized as the name of a cmdlet,
function, script file, or operable program.
我也试试这个命令:
Install-Package EntityFramework.Commands -Pre
我认为 VS 2015 项目是多余的,它执行了但仍然无法识别添加迁移。
提前感谢您提供线索...
NuGet 命令不适用于 ASP.NET 5 个项目。您需要使用命令的 ASP.NET 5 命令行版本。 (例如 k ef migration add
)我们有一个问题 aspnet/DNX#952 打开以解锁此场景,但还没有看到太多 activity。
要了解有关 ASP.NET 命令的更多信息,请参阅我的 post EF7 Migrations: ASP.NET Commands。
好的,我知道这是一个老问题,并且已经在技术上得到了解答。也就是说,如果你想打开命令提示符并执行它。此问题的根本原因是 PowerShell 模块未初始化。不过有一个简单的修复方法。您只需要初始化模块。转到您的解决方案资源管理器。转到 References >> .NETCoreApp,Version=v1.0 然后向下滚动直到找到 Microsoft.EntityFrameworkCore.Tools 右键单击并显示属性。记下它应该类似于
的路径
C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools.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.0.0-preview2-final\tools"
然后按回车键。然后要在 PowerShell 中初始化模块,您只需键入
. .\init.ps1
或者我相信您可以完成整个路径并获得相同的结果,这样就可以
C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools.0.0-preview2-final\tools\init.ps1
不幸的是,每次出现错误时您都必须执行此操作,但如果您只是将路径保存在 .txt 文件中或在项目中容易找到的某个地方对其进行注释,情况还不错。
我正在尝试 运行 ef7 迁移到新的 asp.net 5 预览项目。
我采取的步骤:
- 根据模板创建了新项目"ASP.NET 5 preview starter web"
- 建造它
- 在程序包管理器控制台中尝试命令
Add-Migration
结果:
The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program.
我也试试这个命令:
Install-Package EntityFramework.Commands -Pre
我认为 VS 2015 项目是多余的,它执行了但仍然无法识别添加迁移。
提前感谢您提供线索...
NuGet 命令不适用于 ASP.NET 5 个项目。您需要使用命令的 ASP.NET 5 命令行版本。 (例如 k ef migration add
)我们有一个问题 aspnet/DNX#952 打开以解锁此场景,但还没有看到太多 activity。
要了解有关 ASP.NET 命令的更多信息,请参阅我的 post EF7 Migrations: ASP.NET Commands。
好的,我知道这是一个老问题,并且已经在技术上得到了解答。也就是说,如果你想打开命令提示符并执行它。此问题的根本原因是 PowerShell 模块未初始化。不过有一个简单的修复方法。您只需要初始化模块。转到您的解决方案资源管理器。转到 References >> .NETCoreApp,Version=v1.0 然后向下滚动直到找到 Microsoft.EntityFrameworkCore.Tools 右键单击并显示属性。记下它应该类似于
的路径C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools.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.0.0-preview2-final\tools"
然后按回车键。然后要在 PowerShell 中初始化模块,您只需键入
. .\init.ps1
或者我相信您可以完成整个路径并获得相同的结果,这样就可以
C:\Users\YourUserName\.nuget\packages\Microsoft.EntityFrameworkCore.Tools.0.0-preview2-final\tools\init.ps1
不幸的是,每次出现错误时您都必须执行此操作,但如果您只是将路径保存在 .txt 文件中或在项目中容易找到的某个地方对其进行注释,情况还不错。