2016-08-17 10 views
1

で見つけることはなかった私はC#プロジェクトに複数のdbcontextsを持っていると私はつまり、完全なコマンドを指定するときに私は、移行を可能にしようとしている:Entity Frameworkの - マイグレーション構成タイプは、アセンブリ

「有効-移行を-ContextTypeName Models.Account.AccountDetailDbContext」

移行フォルダが作成され、コンフィギュレーション・クラス

で、私は、メッセージを取得:

は 『コンテキストは、既存のデータベースを対象とするかどうかの確認を...』

そして

「マイグレーション・コンフィギュレーション・タイプ 『Portal.WebUI.Migrations.Configurationは』アセンブリ 『Portal.WebUI』に記載されていませんでした。」

ファイルを作成したばかりであっても、それを見つけることはできません。

誰でも助けてください。

は、私は-verbose使用してコマンドを試してみましたが、コンソール

パッケージマネージャで選択し、正しいプロジェクトを持っているが、それは私が新しいプロジェクトにdbcontextsとクラスをコピーする場合は、追加情報

を与えませんそれはすべて機能するので、移行を失敗させるこの既存のプロジェクトの何かでなければなりませんが、それが何であるかはわかりません。どんな答え

+0

DbContextはPortal.WebUIプロジェクトまたは他のデータアクセスプロジェクトにありますか? – Developer

+0

enable-migrationsに-ContextProjectName Portal.WebUIを追加して、プロジェクトがコンテキストプロジェクトを参照していることを確認してください。 –

答えて

1

を事前に

おかげで私はEF nugetパッケージをアンインストールしてから再インストールすることによってこの問題を解決するために管理しました。

むしろ迷惑...しかし、私はそれが他人を助けることを願っています。

+0

それは私を助けました。ありがとうございました :-) –

0

また、私は同じ問題に直面していた名前空間

0

であるため、スペルミスのこの問題を持っていました。私が見つけたのは、私のプロジェクト名で"-""abc-xyz"に含まれていたということでした。私は自分のプロジェクトを削除し、それを"abcxyz"として作り直しました。プロジェクトの名前を変更しないでください。すべての参照で名前を変更する必要があります。この場合は、最初にEFをアンインストールして名前を変更してから、EFを再インストールしてください。

0

チェックする価値のある別の問題:プロジェクトに署名していますか?私が見つけたばかりのように、この問題は、アセンブリが厳密な名前のキーファイルで署名されている場合にも発生する可能性があります。 EntityFrameworkツールキットの一部は、移行プロセス中に呼び出されるmigrate.exeです。アセンブリに署名がある場合、このアプリケーションは構成タイプを見つけることができません。

解決策<プロジェクト> →プロパティ→署名:少なくとも移行タスクの実行中は「アセンブリに署名する」のチェックを外してください。あなたが終わったらそれを振り直してください。

関連する問題