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

asp.net-mvc-5 entity-framework-core


我正在嘗試在新的asp.net 5預覽項目上運行ef7遷移。
我採取的步驟:

  1. 基於模板“ASP.NET 5預覽啟動程序Web”創建了新項目
  2. 建立它
  3. 在Package Manager控制台中嘗試命令Add-Migration

結果:

術語“添加遷移”不會被識別為cmdlet,函數,腳本文件或可操作程序的名稱。

我也嘗試這個命令:

Install-Package EntityFramework.Commands -Pre

我認為VS 2015項目是多餘的,它已執行但仍無法識別Add-Migration。

提前感謝您提供線索......

一般承認的答案

NuGet命令不適用於ASP.NET 5項目。您需要使用命令的ASP.NET 5命令行版本。 (例如, k ef migration add )我們有一個問題aspnet / DNX#952打開以解除阻止這種情況,但它沒有看到太多的活動。

要了解有關ASP.NET命令的更多信息,請參閱我的文章EF7遷移:ASP.NET命令


熱門答案

好的,我知道這是一個老問題,它已經在技術上得到了解答。也就是說,如果要打開命令提示符並執行此操作。此問題的根本原因是PowerShell模塊未初始化。雖然有一個簡單的解決方案。您只需要初始化模塊。轉到您的解決方案資源管理器。轉到參考資料>> .NETCoreApp,Version = v1.0然後向下滾動,直到找到Microsoft.EntityFrameworkCore.Tools右鍵單擊並顯示屬性。記下應該是這樣的路徑

C:\ Users \用戶YourUserName \ .nuget \包\ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2決賽

完成後,轉到文件資源管理器中的路徑位置。您應該看到另一個名為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”

然後按Enter鍵。然後在PowerShell中初始化模塊,您只需要鍵入

。 \ init.ps1

或者我相信你可以只做整個路徑並獲得相同的結果,這樣就可以了

C:\ Users \用戶YourUserName \ .nuget \包\ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2決賽\工具\ init.ps1

不幸的是,每次彈出錯誤時你都必須這樣做,但是如果你只是將路徑保存在.txt文件中或者在項目中的某個地方註釋很容易找到它就不會那麼糟糕。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因