Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 19035|Odgovoriti: 0

[Rešeno] . .NET MySQL Connector Conflicts DbProviderFactories (.NET MySQL Connector Conflicts DbP...

[Kopiraj povezavo]
Objavljeno 11. 11. 2020 09:11:52 | | |
Ta objava je bila nazadnje urejena s strani QWERTYU 11. 11. 2020 ob 09:14

Scenarij:
Odprite .NET projekt z uporabo mysql baze podatkov in ga namestite v lokalno razvojno okolje.NET MySQL konektor, vse deluje brez težav, vendar je program ob izdaji na iis nenavaden in sporočilo o napaki je naslednje:
Informacije o izjemah:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informacije o izjemah: ADO.NET ponudnik s fiksnim imenom "MySql.Data.MySqlClient" ni registriran v računalniškem ali aplikacijskem profilu ali ga ni mogoče naložiti. Za več informacij glejte Notranje izjeme.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Poiščite težavo:
Ugotovil sem, da strežnik ni nameščen.NET MySQL povezovalnik, ker mysql uporablja oblačno bazo podatkov Alibaba Cloud, obstaja tudi več strežnikov, da se izognemo namestitvi na vsakem strežniku.NET MySQL connector,Za to sem poskrbel, da sem MySQL reference nastavil na "lokalno kopiranje", da sem jih lahko kopiral v mapo bin in dodal naslednje v svoj app.config:
Po dodajanju zgornje konfiguracije na strežniku deluje brez težav in lahko aplikacijo namestim brez nameščanja MySQL konektorja na strežnik, vendar imam zdaj težavo na svojem lokalnem razvojnem računalniku (z nameščenim MySQL konektorjem) in dobim to napako, ko poskusim EF povezavo:
Informacije o izjemah:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informacije o izjemah: ADO.NET ponudnik s fiksnim imenom "MySql.Data.MySqlClient" ni registriran v računalniškem ali aplikacijskem profilu ali ga ni mogoče naložiti. Za več informacij glejte Notranje izjeme.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Preizkusite akcijo:
Če v konfiguraciji označim XML, ki je bil dodan zgoraj, napaka izgine. To je morda zato, ker je isti gonilnik nameščen na sistemu in se nahaja v machine.config.
Končna rešitev in zakaj:
Poskusi dodati <remove invariant="MySql.Data.MySqlClient" /> v svojo spletno konfiguracijo. Na tvojem računalniku imaš že nameščen MySQL konektor in spremeniš svoj machine.config tako, da ga dodaš v DbProviderFactories. Torej, če v svoj web.config dodate drugega ponudnika MySQL podatkov, je kot da bi poskušali registrirati isto stvar dvakrat.











Prejšnji:C# postavlja DLL-je referenčne knjižnice v podmape preko sondiranja
Naslednji:ASP.NET Sledenje jedrnim povezavam (3) SkyAPM temelji na dinamični konfiguraciji Consul
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com