EntityFramework.SqlServer nicht im Web veröffentlicht

7

Ich habe bemerkt, dass diese seltsame Sache passiert ist, vielleicht ist es ein Käfer, aber ich könnte etwas selbst vermissen.

Angenommen, Sie haben eine Lösung mit zwei Projekten: Eines ist ein MVC3-Projekt, ein anderes ist eine Klassenbibliothek für den Datenzugriff (Entity Framework-Modellklassen, Datenkontext und so).

Die Klassenbibliothek verweist auf die Bibliotheken EntityFramework (EF6) und EntityFramework.SqlServer .

Und das MVC-Projekt verweist auf diese Klassenbibliothek DAL . Die DAL -Bibliothek kann von einem anderen Code außerhalb der Anwendung verwendet werden, um sie vom Webprojekt zu entkoppeln.

Wie auch immer, bei der Veröffentlichung des MVC3-Projekts scheint der Prozess das Kopieren der Assembly " EntityFramework.SqlServer " in das Verzeichnis "publish / bin" fehlzuschlagen. Allerdings veröffentlicht die Basis EntityFramework dll zusammen mit anderen Bibliotheken und der Klassenbibliothek selbst.

Gibt es eine Möglichkeit, den Publisher dazu zu bringen, den erforderlichen SqlServer-Treiber ebenfalls zu veröffentlichen?

    
Crypton 10.12.2013, 15:58
quelle

3 Antworten

16

Nun, nach einigem zusätzlichen Google-Fu scheint es, dass ein Workaround darin besteht, einen Verweis auf diese fehlende Assembly zu erstellen, auch wenn der Code nicht verwendet wird.

.NET MVC 3-Bereitstellungspaket enthält keine Referenzen

Und die von mir verwendete Problemumgehung ist das Hinzufügen einer einfachen Testzeile im Konstruktor des Datenkontextes:

%Vor%     
Crypton 10.12.2013, 16:43
quelle
3

Ich hatte die gleiche Situation. Ich habe EF über NuGet in meinem Webprojekt installiert (ich benutze es immer noch nicht dort, sondern referenziere nur auf Bibliotheken) und es löst mein Problem.

Außerdem kann ich diese Situation nicht für andere Lösungen reproduzieren - ich habe ein neues Webprojekt erstellt und auf eine neue lib verwiesen - aber die Bereitstellung funktioniert.

    
RredCat 19.06.2014 10:59
quelle
1

Fügen Sie das Entity-Framework-Paket in Ihre Paketdatei Ihres Projekts ein

    
nimish jain 02.07.2015 15:38
quelle