Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 19775|Atbildi: 0

[Atrisināts] . .NET MySQL savienotāja konflikti DbProviderFactories (.NET MySQL savienotāja konflikti DbP...

[Kopēt saiti]
Publicēts 11.11.2020 09:11:52 | | |
Šo ziņu pēdējo reizi rediģēja QWERTYU 2020-11-11 09:14

Scenārijs:
Atveriet .NET projektu, izmantojot mysql datu bāzi, un instalējiet to vietējā izstrādes vidē.NET MySQL savienotājs, viss darbojas labi, bet, kad tas tiek izlaists iis, programma ir nenormāla un kļūdas ziņojums ir šāds:
Informācija par izņēmumiem:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informācija par izņēmumiem: ADO.NET nodrošinātājs ar fiksēto nosaukumu "MySql.Data.MySqlClient" nav reģistrēts datora vai lietojumprogrammas profilā vai to nevar ielādēt. Papildinformāciju skatiet sadaļā Iekšējie izņēmumi.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Atrodiet problēmu:
Konstatēts, ka serveris nav instalēts.NET MySQL savienotājs, jo mysql izmanto Alibaba Cloud mākoņa datu bāzi, ir arī vairāki serveri, lai izvairītos no instalēšanas katrā serverī.NET MySQL savienotājs,Lai to izdarītu, es noteikti iestatīju MySQL atsauces uz "lokālo kopiju", lai varētu tās kopēt mapē un pievienot savai app.config:
Pēc iepriekš minētās konfigurācijas pievienošanas tas darbojas labi serverī, un es varu izvietot lietojumprogrammu, neinstalējot MySQL savienotāju serverī, bet tagad man ir problēma ar vietējo izstrādātāju mašīnu (ar instalētu MySQL savienotāju), un, mēģinot EF savienojumu, saņemu šo kļūdu:
Informācija par izņēmumiem:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informācija par izņēmumiem: ADO.NET nodrošinātājs ar fiksēto nosaukumu "MySql.Data.MySqlClient" nav reģistrēts datora vai lietojumprogrammas profilā vai to nevar ielādēt. Papildinformāciju skatiet sadaļā Iekšējie izņēmumi.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Izmēģiniet tālāk norādītās darbības.
Ja es komentēju iepriekš pievienoto XML konfigurācijā, kļūda pazūd. Tas var būt tāpēc, ka sistēmā ir instalēts viens un tas pats draiveris, kas atrodas vietnē machine.config.
Galīgais risinājums un kāpēc:
Mēģiniet pievienot <remove invariant="MySql.Data.MySqlClient" /> savā tīmekļa konfigurācijā. Jūsu datorā jau ir instalēts MySQL savienotājs, un jūs modificējat savu machine.config, pievienojot to DbProviderFactories. Tātad, ja jūs ievietojat citu MySql datu sniedzēju savā web.config, tas ir tā, it kā jūs mēģinātu reģistrēt to pašu divas reizes.











Iepriekšējo:C# ievieto atsauces bibliotēkas DLL apakšmapēs, izmantojot zondēšanu
Nākamo:ASP.NET Core Link Tracing (3) SkyAPM ir balstīts uz Consul dinamisko konfigurāciju
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com