2016-05-16 6 views
8

Ich habe mein WCF-Projekt auf einem Server veröffentlicht, ich habe auch eine MVC-Anwendung auf der gleichen Box veröffentlicht, die die WCF-Dienste verbraucht.Wie löse ich die Entity Framework-Provider-Ausnahme

Wenn die Anmeldung auf meiner MVC-Anwendung versucht, dies einen WCF-Dienst verwendet, aber ich bekomme diese Ausnahme auf dem Browser,

Der Anbietertyp Entity Framework ‚System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer 'in der Anwendungskonfigurationsdatei für den ADO.NET-Provider mit dem invarianten Namen' System.Data.SqlClient ' konnte nicht geladen werden. Stellen Sie sicher, dass der für die Assemblierung qualifizierte Name verwendet wird und dass die Assembly für die ausgeführte Anwendung verfügbar ist.

Dies ist eine Entity Framework Ausnahme, aber ich nehme an, da mein Projekt EF bereits im Dev-Umgebung verweist, nachdem das Service-Projekt bereitstellen, sollten die DLLs die EF Referenz auch enthalten, aber ich bin nicht sicher, warum ich erhalte dieser Fehler.

kann ich diese Nachricht sehen, weil ich auf der includeExceptionDetailInFaults="True"

drehte
+1

installiert von NuGet Package Manager Ursache nicht korrekt im Projekt installiert. Erneut versuchen PM> Install-Package EntityFramework –

+1

Wie ich bereits erwähnt habe, ist dies nicht auf meinem lokalen Rechner, dies ist auf meinem Server, wo ich kein Visual Studio installiert habe. Dies ist eine veröffentlichte Anwendung, die diesen Fehler verursacht, sie funktioniert auf meinem lokalen Computer einwandfrei. @NazmulHasan –

Antwort

11

@FranciscoGoldenstein sagen! Sie müssen Entity Framework nicht in Ihrer Konsolenanwendung oder sonstwie installieren, Sie müssen lediglich einen Verweis auf die Assembly EntityFramework.SqlServer.dll hinzufügen. Sie können diese Assembly aus dem Klassenbibliotheksprojekt kopieren, das Entity Framework in einem LIB-Ordner verwendet, und eine Referenz hinzufügen.

Zusammengefasst:

  • Klassenbibliothek Anwendung:
    • Install Entity Framework
    • Schreiben Sie Ihre Datenschicht Code
    • app.config-Datei hat die ganze Konfiguration Entity Framework im Zusammenhang mit Ausnahme die Verbindungszeichenfolge
  • eine Konsole, Web oder Desktop-Anwendung erstellen:
    • einen Verweis auf das erste Projekt hinzufügen.
    • Fügen Sie einen Verweis auf EntityFramework.SqlServer.dll hinzu.
    • app.config/web.config hat die Verbindungszeichenfolge (denken Sie daran, dass der Name des Konfigurationseintrags hat das gleiche wie der Name der DbContext Klasse.

es ist für mich Arbeit ich hoffe, es hilft.

auch den Link versuchen Entity Framework Provider type could not be loaded?

+0

Sie haben Recht, aus irgendeinem Grund, der Build wurde nicht diese Bibliothek hinzufügen, wenn ich es aus irgendeinem Grund veröffentlichen. –

+1

EntityFramework.SqlServer.dll Referenz half mir –

1

Deinstallieren Entity Framework nuget und einfach neu zu installieren, für mich gearbeitet.

0

Ich hatte auch ein ähnliches Problem

Mein Problem, indem Sie folgende gelöst wurde:

enter image description here

enter image description here

Verwandte Themen