web-dev-qa-db-ja.com

「データベースの更新」という用語は、コマンドレットの名前として認識されません

私はEF5 beta1を使用していますが、以前は「Update-Database」を実行できました。 Visual Studioをシャットダウンしたので、実行できません。次のエラーが表示されます。

「データベースの更新」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認してから再試行してください。 1行目:char:16 + Update-Database <<<< -verbose + CategoryInfo:ObjectNotFound:(Update-Database:String)[]、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

EF5b1を再インストールしようとしましたが、成功しました(既にインストールされています)が、「データベースの更新」はまだ機能しません。

誰でも助けることができますか?

99
user1265146

私はこの問題を最近何度も経験しています。動作する解決策は、パッケージマネージャーコンソールを閉じ、Visual Studioを閉じてから再度開くことでした。再起動もほとんどの場合に機能しましたが、常にではありませんでした。

164
Richard

Entity Frameworkを使用する場合:

エラーメッセージ: "エラーメッセージ(PMCのUpdate-Databaseコマンドから):用語「Update-Database」コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認して再試行してください。」

Solution: "Visual Studioを終了します。プロジェクトを再度開き、再試行してください。"

詳細については、以下を参照してください。 MVC 5 Webアプリケーションの高度なエンティティフレームワーク6シナリオ(12/12)

お役に立てれば...

50
Murat Yıldız

VSをロードすると、パッケージマネージャーコンソールに次のように表示されることがあります。

値をnullにすることはできません。

パラメーター名:path1

何が原因なのかまだわかりませんが、Powershellコンソールの起動中に何か問題が発生し、EF powershell拡張などの特定のモジュールの登録が中断されるようです。ただし、手動で読み込むことができます:

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

6.1.1を、Entity Frameworkの現在のバージョンに置き換えてください。

20
Steve Rukuts

Nugetパッケージを再インストールすると、この問題は修正されました

すなわち、実行する

Install-Package EntityFramework -Version 5.0.0

パッケージマネージャーで

16
orangesherbert

Visual Studioを再起動するだけで、問題は解決します。私のために働く。

9

eFツールが適切にインストールされていない場合、このエラーが発生します。

nugetパッケージマネージャーで以下のコマンドを試してください//同じバージョンのEFをアンインストールしてインストールします

Update-Package "EntityFramework" -reinstall

それでも同じ問題に直面する場合。新しいWebプロジェクトを作成し、nugetで以下のコマンドを実行します。

(注:同じソリューションまたは同じ場所に新しいプロジェクトを作成する必要はありません。)

//これにより、EFが最新バージョン(ツールを含む)に更新されます//特定のバージョンを使用する場合は、-versionフラグを使用します。

Update-Package "EntityFramework"

これが完了したら、元のプロジェクトをチェックして、新しく作成したプロジェクトを削除できます。

7
sudhAnsu63

これと同じ問題があり、その原因はパス名にありました。パスには、C:\[PROJ]\TestAppのように、角かっこで囲まれたディレクトリ名がありました。

ブラケットを削除してC:\PROJ\TestAppにすると、うまく機能し始めました...

4

ちょうどReOpenビジュアルスタジオは私のために働いています

4
Grey Wolf

私にとって問題はNugetバージョンでした。

  1. nuget Package Managerをアンインストールします。
  2. visual Studioを再起動します。
  3. nuget Package Managerの新しいバージョンをインストールしました。
  4. その後、Visual Studioを再起動します。
4
reza.cse08

この問題は、ファイルエクスプローラーから直接プロジェクトを開いたときに発生するようです。最初にVSを起動してからプロジェクトを開いてみてください-私のために働いた。これはパスへのアクセスに関するものだと思います。

2
Johnny Nintendo

「Microsoft.EntityFrameworkCore」と「Microsoft.EntityFrameworkCore.Tools」のアンインストールと再インストールで解決しました

2
Marco Rinaldi

.Net CoreおよびEntityFrameworkCoreを使用しているユーザーの場合:

この問題を解決するには、Microsoft.EntityFrameworkCore.Toolsパッケージをインストールする必要があります。

詳細はこちら: https://docs.Microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

2

私の場合、Visual Studio (多く、何度も)を再起動しても機能しませんでした。別の場所を探していると、出力ターミナルにメッセージが見つかりました。

現在の.NET SDKは、.NET Core 2.2のターゲティングをサポートしていません。 .NET Core 2.1以前をターゲットにするか、.NET Core 2.2をサポートする.NET SDKのバージョンを使用します。

そこで、必要なバージョンの.NET Coreをインストールし、コマンドが正常に実行されました。

0
maury844

私にとっては、EntityFrameworkコアが私のプロジェクトにインストールされていなかったことがわかります(私は空のプロジェクトで始めたため)。 EntityFrameworkパッケージをインストールすることで問題は解決しました。 EntityFrameworkのインストールに失敗した場合は、個々のパッケージを1つずつインストールしようとすることがあります

例えば。

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
0
Deepak Kumar

パッケージの破損が原因であることがわかりました。 Automapperが既にインストールされているときにインストールしました。別のパッケージをインストールしようとしたときに、このパッケージが破損していることは明らかでした。

破損したパッケージを削除すると、この問題は解決しました。

その後、オートマッパーを再インストールできます。この問題はバージョン5.4で発生しましたが、現在6.0を使用しています。

0
trees_are_great

パッケージマネージャーコンソールを更新して解決しました。

Package ManagerコンソールでUpdate-Databaseを取得していませんでした。その後、何度か再起動します。 Windowsも再起動します。

次に、新しいものを nuget からダウンロードし、解決しました。

0
Shiblee

私の簡単な修正は、更新とデータベースの間にダッシュがあることを確認することでした:update-databaseのように小文字を使用します。偶然かもしれませんが、Packet Manager Consoleでこれを行うと、データベースが実際に更新され、not recognized as the name of a cmdlet, function, script fileエラーではなくdoneメッセージが表示されました。

0
user10776524

私の場合、次のことを行いました。-パッケージマネージャーコンソールの上部にある[復元]ボタンをクリックして、不足しているNuGetパッケージを復元しました-Visual Studioを再起動します-「update-databse」を実行します

0
Dragos Bajenaru

私の場合:

  • プロジェクトをリロードしませんでした
  • 再起動VSは助けにはならなかった
  • コンピューターを再起動しても解決しませんでした
  • Reinstal EFは助けにはなりませんでした

しかし、PM Conoleを使用して、欠落しているEFパッケージを手動でインポートすることが提案された article が見つかりました。

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

そして、この解決策は私の問題を解決しました。

0
MAN

NuGetパッケージの復元は役に立たなかった。そのため、パッケージマネージャーを再インストールする必要がありました- https://visualstudiogallery.msdn.Microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

0
Kate

他の回答が機能しない場合(VS 2017):NuGetキャッシュをクリアし、VSを再起動してからパッケージを復元します。

0
Biarity

Visual Studio 2015でこの問題が発生しましたが、Nugetのバージョンを更新することで解決しました。

ツール->拡張機能とアップデート->アップデート-> Visual Studio Gallery

0
Owen Pauling

2017年の代わりにVisual Studio 2015でVisual Studioソリューションを誤って開いた後、同じ問題が発生し始めました。その事故の前にプロジェクトは正常に機能しました。 EF Coreではなく、EF 5.0を使用した古いプロジェクトでした。

提案されたすべてを試してみました-Visual Studioを何度も再起動し、NuGetキャッシュをクリーンアップし、パッケージフォルダー内のすべてを削除し、プロジェクトのEF 5を再インストールしました-追加、移行は認識されませんでした。 EFを6にアップグレードした場合、コマンドを認識し始めましたが、まだアップグレードしたくありませんでした。そのため、EF 5に戻るとすぐに問題が戻りました。

最終的に私を救った唯一のことは、次のことをすることでした:

  • visual Studioを閉じる
  • パッケージフォルダーからすべてを削除する
  • ソリューションのルートにある.vsフォルダーを削除します。通常、このフォルダは非表示になっています。[非表示のファイルとフォルダを表示する]設定をオンにするか、フォルダの[表示]タブの非表示アイテムをチェックする必要があります。
  • visual Studioを起動して、ソリューションを開きます。 NuGetパッケージの復元を求められますが、それに同意します。

EFコマンドがようやく再び機能し始めました。

0
JustAMartin