Dieser Beitrag wurde zuletzt von QWERTYU am 11.11.2020 um 09:14 Uhr bearbeitet
Szenario: Öffnen Sie ein .NET-Projekt mit der MySQL-Datenbank und installieren Sie es in der lokalen Entwicklungsumgebung.NET MySQL Connector, funktioniert alles einwandfrei, aber wenn es auf iis freigegeben wird, ist das Programm abnormal und die Fehlermeldung lautet wie folgt:
Ausnahmeinformation: System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> Ausnahmeinformationen: Der ADO.NET Anbieter mit dem festen Namen "MySql.Data.MySqlClient" ist im Computer- oder Anwendungsprofil nicht registriert oder kann nicht geladen werden. Weitere Informationen finden Sie unter Interne Ausnahmen.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Finde das Problem: Ich habe festgestellt, dass der Server nicht installiert ist.NET MySQL Connector, da mysql die Cloud-Datenbank von Alibaba Cloud nutzt, gibt es auch mehrere Server, um eine Installation auf jedem Server zu vermeiden.NET MySQL Connector,Dafür habe ich darauf geachtet, die MySQL-Referenzen auf "local copy" zu setzen, damit ich sie in den bin-Ordner kopieren und Folgendes in meine app.config hinzufügen kann:
Nachdem ich die obige Konfiguration hinzugefügt habe, funktioniert es auf dem Server einwandfrei und ich kann die Anwendung ausrollen, ohne den MySQL-Connector auf dem Server installieren zu müssen, aber jetzt habe ich ein Problem auf meinem lokalen Entwicklungsrechner (mit installiertem MySQL-Connector) und ich bekomme diesen Fehler, wenn ich EF-Verbindung versuche: Ausnahmeinformation: System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> Ausnahmeinformationen: Der ADO.NET Anbieter mit dem festen Namen "MySql.Data.MySqlClient" ist im Computer- oder Anwendungsprofil nicht registriert oder kann nicht geladen werden. Weitere Informationen finden Sie unter Interne Ausnahmen. InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。 Probier die Action: Wenn ich die oben hinzugefügte XML in der Konfiguration kommentiere, verschwindet der Fehler. Das könnte daran liegen, dass derselbe Treiber auf dem System installiert ist und sich in machine.config befindet. Die endgültige Lösung und warum:
Versuche, <remove invariant="MySql.Data.MySqlClient" /> in deiner Webconfig hinzuzufügen. Auf deinem Rechner hast du bereits den MySQL-Connector installiert und modifizierst deinen machine.config, indem du einen in DbProviderFactories hinzufügst. Wenn du also einen anderen MySQL-Datenanbieter in deine web.config einfügst, ist es, als hättest du versucht, dasselbe zweimal zu registrieren.
|