MetadataException:指定されたメタデータリソースを読み込めません

.net ado.net c# entity-framework

質問

突然、生成されたObjectContextクラスをインスタンス化するとMetadataExceptionが発生し続けObjectContext 。 App.Configの接続文字列は正しいように見えます - 最後に動作してから変更されていません - そして私は変更なしで基礎となるデータベースから新しいモデル(edmx-file)を再生成しようとしました。

誰かアイデアがありますか?

詳細:プロパティは変更していません。出力アセンブリの名前は変更していません。アセンブリにEDMXを埋め込むことはしていません。仕事を辞めてから戻ってくるまで10時間待っただけです。それからそれはもう働いていませんでした。

EDMXを再作成してみました。プロジェクトを再作成してみました。データベースを一から作り直すこともしました。運が悪くて、まったく。

受け入れられた回答

これは、アプリケーションがEDMXをロードできないことを意味します。これを引き起こす可能性があることがいくつかあります。

  • モデルのMetadataArtifactProcessingプロパティをCopy to Output Directoryに変更した可能性があります。
  • 接続文字列が間違っている可能性があります。私はあなたがあなたがそれを変更していないと言うことを知っています、しかしあなたが他のもの(例えば、アセンブリの名前)を変更したならば、それはまだ間違っているかもしれません。
  • EDMXをアセンブリに埋め込むためにポストコンパイルタスクを使用している可能性がありますが、何らかの理由で動作しなくなりました。

要するに、あなたの質問には正確な答えを出すのに十分な詳細はありませんが、うまくいけばこれらのアイデアがあなたを正しい方向に導くはずです。

更新日:私はトラブルシューティングのためのより完全な手順をブログの投稿に書い


人気のある回答

この小さな変更は、この問題に役立ちます。

私は3つのプロジェクトで解決策を持っています。

connectionString="metadata=res://*/Model.Project.csdl|res://*/Model.Project.ssdl|res://*/Model.Project.msl;

への変更

connectionString="metadata=res://*/;


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ