Š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.
|