Ist es richtig, einen Verweis auf eine Assembly hinzuzufügen, die nicht direkt vom Projekt verwendet wird?

Ich habe eine Lösung, die aus 3 Projekten besteht.

eins fürEntity Framework das enthält mein edmx Diagrammone für meinKerngeschäfund eins für meinWeb-Ap

Wenn ich meinen Code auf einem Server oder Hosting-Service veröffentliche, wird dieser Laufzeitfehler angezeigt:

{"Datei oder Assembly 'EntityFramework, Version = 4.4.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Das System kann die angegebene Datei nicht finden.": "EntityFramework, Version = 4.4.0.0 , Culture = neutral, PublicKeyToken = b77a5c561934e089 "}

Ich erhalte diesen Fehler, weil meine Entity-Framework-Assemblys nicht veröffentlicht werden. Die Entity Framework DLL-Datei fehlt auf meinem Server. Ich weiß warum. Ich habe in meinem Web-App-Projekt nicht darauf verwiesen, da diese Assemblys in diesem Projekt nicht erforderlich sind. Auf die Assembly wird in meinen beiden anderen Projekten verwiesen.

Ich kann mein Problem leicht beheben, indem ich die Entity Framework-Referenz in meine Web-App hinzufüge. Kann ich das machen? Ja, aber ist es eine gute Programmierung, einen Verweis auf eine Assembly hinzuzufügen, die nicht direkt vom Projekt verwendet wird? Was kann ich tun

Mehr Informationeeins fürEntity Framework: Referenz Entity Frameworkone für meinKerngeschäf: Referenz Entity Framework, da ich meine Entitäten hier manipuliereund eins für meinWeb-Ap: Website, die sich wie eine Fassade zwischen der Benutzeroberfläche und dem Kerngeschäft verhält. Ich verweise hier nicht auf Entity Framework oder verwende es nicht.

Ich habe keinen Kompilierungsfehler.> Ich habe nur einen Laufzeitfehler, weil mein Entity-Framework nicht veröffentlicht wurde.

In der Windows-Anwendung verweise ich in diesem Fall nicht auf meine DLL im Projekt, sondern kopiere sie mit einer Postbuild-Aktion. Ich weiß nicht, was bei einer Web-App zu tun ist, die ich veröffentlichen oder bereitstellen muss.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage