Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 19035|Válasz: 0

[Megoldva] . .NET MySQL Connector Conflicts DbProviderFactories (.NET MySQL Connector Conflicts DbP...

[Linket másol]
Közzétéve: 2020-11-11 09:11:52 | | |
Ezt a bejegyzést utoljára a QWERTYU szerkesztette: 2020-11-11, 09:14

Forgatókönyv:
Nyiss ki egy .NET projektet a mysql adatbázis segítségével, és telepítsd a helyi fejlesztői környezetbe.NET MySQL csatlakozó minden rendben működik, de amikor kiadják az iis-re, a program rendellenes, és a hibaüzenet a következő:
Kivételinformációk :
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> kivételinformáció: A "MySql.Data.MySqlClient" fix nevű ADO.NET szolgáltató nincs regisztrálva a számítógépben vagy alkalmazásprofilban, vagy nem tölthető. További információért lásd: Belső kivételek.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Találd meg a problémát:
Megállapítottam, hogy a szerver nincs telepítve.NET MySQL csatlakozó, mivel a mysql az Alibaba Cloud felhőadatbázisát használja, több szerver is létezik, hogy elkerüljék a telepítést minden szerveren.NET MySQL connector,Ehhez gondoskodtam róla, hogy a MySQL hivatkozásokat "helyi másolatnak" állítsam, hogy be tudjam másolni őket a bin mappába, és hozzáadni a következőket az app.config-omhoz:
A fenti konfiguráció hozzáadása után a szerveren jól működik, és be tudom telepíteni az alkalmazást anélkül, hogy telepítenék a MySQL csatlakozót a szerverre, de most a helyi fejlesztő gépemben (a MySQL csatlakozóval van telepítve), és ezt a hibát kapom, amikor EF kapcsolatot próbálok:
Kivételinformációk :
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> kivételinformáció: A "MySql.Data.MySqlClient" fix nevű ADO.NET szolgáltató nincs regisztrálva a számítógépben vagy alkalmazásprofilban, vagy nem tölthető. További információért lásd: Belső kivételek.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Próbáld ki az akciót:
Ha kommentelek a fent hozzáadott XML-t a konfigurációban, a hiba eltűnik. Ez azért lehet azért, mert ugyanaz az illesztőprogram telepítve van a rendszeren, és a machine.config oldalon található.
A végső megoldás és miért:
Próbáld meg hozzáadni <remove invariant="MySql.Data.MySqlClient" /> a webconfig-edben. A gépedre már telepítve van a MySql csatlakozó, és módosítod a machine.config-odat azzal, hogy hozzáadsz egyet a DbProviderFactories-ben. Tehát ha egy másik MySQL adatszolgáltatót teszsz a web.config-ba, az olyan, mintha kétszer is megpróbálnád ugyanazt regisztrálni.











Előző:C# a referenciakönyvtár DLL-eket almappákba helyezi probing révén
Következő:ASP.NET Core Link Tracing (3) A SkyAPM a Consul dinamikus konfiguráción alapul
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com