82

我正在使用EF5 beta1,而我之前可以運行「更新數據庫」。現在我關閉了Visual Studio,但無法運行它。我得到以下錯誤:術語「更新數據庫」不被識別爲cmdlet的名稱

The term 'Update-Database' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:16 + Update-Database <<<< -verbose + CategoryInfo : ObjectNotFound: (Update-Database:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

我試圖重新安裝EF5b1,雖然是成功的(已安裝),「更新數據庫內」仍然無法正常工作。

任何人都可以幫助嗎?

+2

昨天我有一個不同的cmdlet類似的問題,並完整的系統重新啓動幫助... – nemesv 2012-03-13 07:01:01

+11

重新啓動是沒有必要的。執行包恢復後,我們不會運行init.ps1腳本(這就是爲什麼找不到該命令)。只需退出並重新啓動VS(或卸載/重新加載項目)。 – RickAndMSFT 2013-07-17 01:45:12

+0

今天我發生了這種事。我爲團隊項目打開了一個回購協議,並且需要恢復一些軟件包。恢復後,'update-database'和'add-migration'命令將不起作用。重新啓動Visual Studio修復了它。 – jmbertucci 2015-02-09 15:17:38

回答

144

最近我一直有這個問題多次。我發現有效的解決方案是關閉程序包管理器控制檯,關閉Visual Studio,然後重新打開它們。重啓也在大多數時間都有效,但並非總是如此。

+7

通常你只需要退出重啓VS.在原始問題中查看我的評論。在極少數情況下,您可能需要退出/重新啓動VS兩次。 – RickAndMSFT 2013-07-17 01:46:23

+1

剛剛面臨問題並重新啓動Visual Studio,並且事情再次運行。謝謝。 – Shubh 2015-05-28 10:13:43

+1

真棒......... – Unbreakable 2017-05-14 01:33:14

4

我有這個相同的問題,它的起源是我的路徑名稱,我在我的路徑上有一個直接括號的目錄名稱,如下所示:C:\[PROJ]\TestApp

當我刪除了支架,以C:\PROJ\TestApp,它開始工作得很好......

+0

通常你只需要退出重啓VS.在原始問題中查看我的評論。 – RickAndMSFT 2013-07-17 01:45:54

+0

@RickAndMSFT這更接近更好的解決方案,即「重啓」VS. – ProfK 2017-05-22 13:36:03

+0

@Antonio即使我有同樣的問題,你的解決方案也適用於我。 – User5590 2018-02-23 09:11:34

1

這個問題似乎當您直接從資源管理器打開該項目的情況發生。先嚐試開始VS然後打開項目 - 爲我工作。我猜這是關於訪問路徑。

13

重新安裝固定這個問題上的NuGet包我

即包管理器執行

Install-Package EntityFramework -Version 5.0.0 

+1

這適用於我。我工作的項目使用EF和我自動假定包已安裝。事實證明,事實並非如此。開發人員只是直接引用EF dll。 EntityFramework軟件包必須安裝在Update-Database cmd工作的項目中。 – stack247 2014-06-18 23:09:33

+0

這個答案似乎不太可能幫助,但它拯救了我的一天。謝謝, – 2015-08-14 05:24:18

+0

今天使用Fluent API摔跤FK的,等等,EntityFramework不知何故被拋棄。在這些方面實際上對我有效的是另一個'Update-Package -Reinstall EntityFramework'。 – rdev5 2015-11-19 20:58:24

4

只需重新打開Visual Studio是爲我工作

18

有時,當我加載VS,我在我的包管理器控制檯中看到這個:

Value cannot be null.

Parameter name: path1

我不知道是什麼原因導致還沒有,但似乎不順心的那些中斷的特定模塊,如EF PowerShell的擴展的註冊PowerShell控制檯的啓動過程中出錯。但是,您可以手動加載它:

Import-Module .\packages\EntityFramework.6.1.1\tools\EntityFramework.psm1 

確保用任何當前版本的實體框架替換6.1.1。

+3

謝謝!只有解決方案,爲我工作。但是,對於任何使用VS 2015的EF 6.1.3的用戶,EntityFramework.psm1中存在一個錯誤,這裏有一個可用的補丁http://stackoverflow.com/a/30062684/1267778。 – parliament 2015-06-10 17:39:50

-1

對我來說,問題是Nuget版本。

我刪除並重新安裝了Nuget,然後重新啓動Visual Studio,然後開始工作。

42

如果您使用實體框架:

錯誤消息: 「錯誤信息(從PMC更新-database命令): 術語‘更新的數據庫的’無法識別的名稱的cmdlet,函數,腳本文件或可操作的程序,檢查名稱的拼寫,或是否包含一個路徑,驗證路徑是否正確,然後再試一次。「

解決方案: 」 退出Visual Studio中。重新打開項目,然後再試一次「

欲瞭解更多信息,請訪問:。Advanced Entity Framework 6 Scenarios for an MVC 5 Web Application (12 of 12)

希望這有助於...

+0

重新啓動10/10,每次工作 – AlbatrossCafe 2016-09-26 19:12:02

+0

@AlbatrossCafe當然:) – 2016-09-28 19:37:38

+0

VS開發團隊應該給這個問題刷新VS按鈕:) – 2016-11-21 09:04:02

4

對我來說,問題是的NuGet版本

  1. 卸載Nuget Package Manager
  2. 重新啓動Visual Studio。
  3. 安裝了新版本的Nuget Package Manager。
  4. 然後再次重新啓動Visual Studio。
+1

這是我的情況,但我只需要更新nuget的擴展和更新 – Oak 2015-09-10 21:12:07

+0

這工作對我來說,卸載nuget包管理器,重新安裝nuget包管理器,重啓Visual Studio,卸載EntityFramework,重新安裝EntityFramework – 2016-10-12 04:10:09

5

當EF工具安裝不正確,你將收到此錯誤。

嘗試NuGet包管理器 //卸載以下命令並安裝EF

Update-Package "EntityFramework" -reinstall 

的相同版本如果你仍然面臨着同樣的問題。 創建一個新的Web項目並在nuget中運行以下命令。

(Note : no need to create the new Project in the same solution or same location.)

//這將更新EF到最新版本(包括工具) //如果你想使用特定的版本,使用-version標誌。

Update-Package "EntityFramework" 

一旦做到這一點,chcek你原來的項目,您可以刪除新建項目。

0

在我的情況,我做了以下內容: - 重新啓動Visual Studio的 - - 運行「更新DATABSE」

0

如果其他的答案不工作(VS 2017):清空緩存的NuGet,重啓VS,然後恢復包。

0

我發現它是由於一個損壞的包。當它已經安裝時,我已經安裝了Automapper。只有當我試圖安裝另一個軟件包時,這個軟件包才發現是錯誤的。

刪除損壞的包解決了我這個問題。

您可以再重新安裝automapper。問題出現在版本5.4上,我現在很樂意在6.0上。

0

對於我來說,原來的EntityFramework核心並沒有對我的項目安裝(因爲我開始用空白項目)。所以安裝EntityFramework包解決了這個問題。有時如果EntityFramework安裝失敗,則嘗試逐個安裝單個軟件包

E.g.

Microsoft.EntityFrameworkCore.Design 
Microsoft.EntityFrameworkCore.SqlServer 
Microsoft.EntityFrameworkCore.SqlServer.Design 
Microsoft.EntityFrameworkCore.Tools 
0

我解決了更新程序包管理器控制檯。

我沒有在Package Manager Console中獲取Update-Database。然後我重新開始幾次。同時重新啓動Windows。

然後我從nuget下載新的,然後解決了。

7

只需重新啓動Visual Studio,它就能解決問題。適用於我。

相關問題