4

エンティティフレームワークのデータ移行を使用しています。物物などを変更する場合は、パッケージマネージャーコンソールで「 add-migrationMyFirstMigration」を使用してみます。しかし、それは例外を返します:

The term 'add-migration' 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 inclu
ded, verify that the path is correct and try again.
At line:1 char:14
+ add-migration <<<< 
+ CategoryInfo          : ObjectNotFound: (add-migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

NugetからEntityFramework.Migrationsをアンインストールして再インストールすると、プロジェクトを閉じるまで同じコード( " add-migration MyFirstMigration "、 " update-database ")で動作します。

どうすれば修正できますか?他の誰かがこれを経験していますか?

編集:ちなみに別のPCで正常に動作します...

4

2 に答える 2

12

私はVS 11とEF5をテストしていますが、これにも遭遇したので、これはあなたには当てはまらないかもしれません. それはいくつかのことかもしれません。

次の順序で VS を開く必要があります。

  1. VS を開いた状態で、パッケージ マネージャー コンソールを閉じます。
  2. VSを閉じる
  3. VSを開く
  4. プロジェクトを開く
  5. パッケージ マネージャー コンソールを開く

パッケージマネージャーコンソールが開いているときにVSを閉じると、それが記憶されます。次に、VS を再度開くと、プロジェクトを開く前にパッケージ マネージャー コンソールが既に開いており、混乱します。


もう 1 つの可能性は、"add-migration" を認識しない他の EF パッケージがインストールされていて、それらが邪魔をしていることです。

パッケージ マネージャー コンソールで「get-package」を実行して、何がインストールされているかを確認します。不要な/古いものを削除します。

于 2012-03-24T22:50:04.083 に答える
0

デフォルトで開いているパッケージ マネージャー コンソール (PMC) にコマンドをコピーして貼り付けると、このエラーが発生することがあります。コマンドを貼り付けて実行しようとすると、同じエラーが発生しますが、PMC と VS を閉じて再度開くと、 VS、次に PMC、その後 PMC コマンドを入力すると、正常に実行されました。

于 2016-03-10T13:03:05.820 に答える