Fehler beim Entity Framework - "Der EntityContainer-Name muss eindeutig sein"

.net entity-framework exception-handling visual-studio

Frage

Wir haben eine Lösung, die aus zwei Projekten besteht - einem Konsolenanwendungsprojekt und einem Webanwendungsprojekt. Jedes dieser Elemente hat ein identisches Schema, jedoch eine andere .edmx-Datei, die für den Zugriff auf dieselbe Datenbank verwendet wird.

Die Konsolenanwendung wird als geplante Task auf demselben Server ausgeführt, auf dem die Webanwendung gehostet wird. Die Webanwendung enthält einen Verweis auf die Konsolenanwendung, da bestimmte Aktionen in der Webanwendung dazu führen, dass Methoden in der Konsolenanwendung aufgerufen werden. Diese Kombination läuft seit vielen Monaten erfolgreich in unserer Staging-Umgebung.

Bei der Live-Veröffentlichung wird mindestens einmal täglich die folgende Fehlermeldung angezeigt:

Das angegebene Schema ist nicht gültig. Fehler:

ProjectName.csdl (3,4): Fehler 0019: Der EntityContainer-Name muss eindeutig sein. Ein EntityContainer mit dem Namen 'ProjectEntities' ist bereits definiert. ProjectName.csdl (63,4): Fehler 0019: Jeder Typname in einem Schema muss eindeutig sein. Der Typname 'ProjectModel.DataSource' wurde bereits definiert. ProjectName.csdl (75,4): Fehler 0019: Jeder Typname in einem Schema muss eindeutig sein. Der Typname 'ProjectModel.Error' wurde bereits definiert.

Dies wird fortgesetzt und listet alle Typnamen in unserem Schema auf.

Dieser Fehler kann behoben werden, indem der Anwendungspool erneut verwendet oder IIS neu gestartet wird.

Bitte beachten Sie, dass der Fehler erst auftritt, wenn die Webanwendung eine Weile ausgeführt wurde. Sie tritt nicht beim Kompilieren oder beim ersten Zugriff auf die Anwendung auf.

Meine ursprüngliche Theorie war, dass die beiden Entity Containers miteinander in Konflikt stehen, da die Webanwendung auf die Konsolenanwendung verweist, jedoch unterschiedliche Namen haben, was den Fehler "Der EntityContainer-Name muss eindeutig sein. Ein EntityContainer mit dem Namen 'ProjectEntities' ist bereits definiert "verwirrend.

Beliebte Antwort

Gehen Sie zu diesem Ordner und löschen Sie die DLL- und PDB-Datei manuell.



Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow