MetadataException: Die angegebene Metadatenressource kann nicht geladen werden

.net ado.net c# entity-framework

Frage

Plötzlich bekomme ich immer eine MetadataException beim Instantiieren meiner generierten ObjectContext Klasse. Die Verbindungszeichenfolge in App.Config sieht korrekt aus - hat sich seit der letzten Änderung nicht geändert - und ich habe versucht, ein neues Modell (edmx-Datei) ohne Änderung aus der zugrunde liegenden Datenbank zu regenerieren.

Hat jemand Ideen?

Weitere Details: Ich habe keine Eigenschaften geändert, ich habe den Namen von Ausgabebaugruppen nicht geändert, ich habe nicht versucht, das EDMX in die Baugruppe einzubetten. Ich habe nur 10 Stunden darauf gewartet, bis ich zurückkam. Und dann hat es nicht mehr funktioniert.

Ich habe versucht, das EDMX neu zu erstellen. Ich habe versucht, das Projekt neu zu erstellen. Ich habe sogar versucht, die Datenbank von Grund auf neu zu erstellen. Kein Glück, was auch immer.

Akzeptierte Antwort

Dies bedeutet, dass die Anwendung das EDMX nicht laden kann. Es gibt mehrere Dinge, die dies verursachen können.

  • Möglicherweise haben Sie die MetadataArtifactProcessing-Eigenschaft des Modells in In Ausgabeverzeichnis kopieren geändert.
  • Die Verbindungszeichenfolge könnte falsch sein. Ich weiß, dass Sie sagen, Sie haben es nicht geändert, aber wenn Sie andere Dinge geändert haben (zB den Namen einer Assembly), könnte es trotzdem falsch sein.
  • Möglicherweise verwenden Sie eine Aufgabe nach dem Kompilieren, um das EDMX in die Assembly einzubetten, was aus irgendeinem Grund nicht mehr funktioniert.

Kurz gesagt, in Ihrer Frage gibt es nicht genügend Details, um eine genaue Antwort zu geben, aber diese Ideen sollten Sie hoffentlich auf den richtigen Weg bringen.

Update: Ich habe einen Blogeintrag mit vollständigeren Schritten zur Fehlerbehebung geschrieben .


Beliebte Antwort

Diese kleine Änderung hilft bei diesem Problem.

Ich habe Solution with 3 project.

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

ändern

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


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum