Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 19035|Atsakyti: 0

[Išspręsta] . .NET MySQL jungties konfliktai DbProviderFactories (.NET MySQL jungties konfliktai DbP...

[Kopijuoti nuorodą]
Publikuota: 2020-11-11 09:11:52 | | |
Šį įrašą paskutinį kartą redagavo QWERTYU 2020-11-11 09:14

Scenarijus:
Atidarykite .NET projektą naudodami mysql duomenų bazę ir įdiekite jį vietinėje kūrimo aplinkoje.NET MySQL jungtis, viskas veikia gerai, bet kai ji išleidžiama į iis, programa yra nenormali ir klaidos pranešimas yra toks:
Informacija apie išimtis:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informacija apie išimtis: ADO.NET teikėjas fiksuotu pavadinimu "MySql.Data.MySqlClient" nėra užregistruotas kompiuteryje arba programos profilyje arba negali būti įkeltas. Daugiau informacijos rasite Vidinės išimtys.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Raskite problemą:
Nustatyta, kad serveris neįdiegtas.NET MySQL jungtis, nes mysql naudoja Alibaba Cloud debesies duomenų bazę, taip pat yra keli serveriai, kad būtų išvengta diegimo kiekviename serveryje.NET MySQL jungtis,Norėdami tai padaryti, būtinai nustatiau MySQL nuorodas į "vietinę kopiją", kad galėčiau nukopijuoti jas į šiukšliadėžės aplanką ir pridėti šiuos dalykus prie savo app.config:
Pridėjus aukščiau pateiktą konfigūraciją, ji puikiai veikia serveryje ir galiu įdiegti programą neįdiegęs "MySQL" jungties serveryje, bet dabar turiu problemų vietiniame kūrėjo kompiuteryje (su įdiegta "MySQL" jungtimi) ir gaunu šią klaidą, kai bandau EF ryšį:
Informacija apie išimtis:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informacija apie išimtis: ADO.NET teikėjas fiksuotu pavadinimu "MySql.Data.MySqlClient" nėra užregistruotas kompiuteryje arba programos profilyje arba negali būti įkeltas. Daugiau informacijos rasite Vidinės išimtys.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Išbandykite veiksmą:
Jei pakomentuosiu aukščiau pridėtą XML konfigūracijoje, klaida išnyks. Taip gali būti todėl, kad ta pati tvarkyklė yra įdiegta sistemoje ir yra machine.config.
Galutinis sprendimas ir kodėl:
Pabandykite įtraukti <remove invariant="MySql.Data.MySqlClient" /> į savo žiniatinklio konfigūraciją. Savo kompiuteryje jau įdiegėte "MySql" jungtį ir modifikuojate savo machine.config pridėdami ją į DbProviderFactories. Taigi, jei į savo web.config įdėsite kitą "MySql" duomenų teikėją, tarsi bandytumėte du kartus užregistruoti tą patį.











Ankstesnis:C# zondavimo būdu įdeda nuorodų bibliotekos DLL į poaplankius
Kitą:ASP.NET Core Link Tracing (3) SkyAPM yra pagrįstas Consul dinamine konfigūracija
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com