Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 19035|Odpowiedź: 0

[Rozwiązane] . .NET MySQL Connector Conflicts DbProviderFactories (.NET MySQL connector Conflicts DbP...

[Skopiuj link]
Opublikowano 2020-11-11 09:11:52 | | |
Ten post został ostatnio edytowany przez QWERTYU 2020-11-11 09:14

Scenariusz:
Otwórz projekt .NET z bazą mysql i zainstaluj go w lokalnym środowisku programistycznym.NET MySQL connector, wszystko działa poprawnie, ale po udostępnieniu do iis program jest nieprawidłowy i komunikat o błędzie jest następujący:
Informacje o wyjątkach:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informacje o wyjątkach: Dostawca ADO.NET o stałej nazwie "MySql.Data.MySqlClient" nie jest zarejestrowany w profilu komputera ani aplikacji lub nie może być załadowany. Więcej informacji można znaleźć w sekcji Wyjątki wewnętrzne.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Znajdź problem:
Okazało się, że serwer nie jest zainstalowany.NET MySQL connector, ponieważ mysql korzysta z bazy danych w chmurze Alibaba Cloud, istnieje także wiele serwerów, aby uniknąć instalacji na każdym serwerze.NET MySQL connector,Aby to zrobić, ustawiłem odwołania MySQL na "lokalną kopię", aby móc je skopiować do folderu bin i dodać następujące do app.config:
Po dodaniu powyższej konfiguracji działa to dobrze na serwerze i mogę wdrożyć aplikację bez instalowania złącza MySQL na serwerze, ale teraz mam problem na moim lokalnym komputerze deweloperskim (z zainstalowanym złączem MySQL) i pojawia się ten błąd, gdy próbuję połączenia EF:
Informacje o wyjątkach:
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver. <GetService>b__0---> informacje o wyjątkach: Dostawca ADO.NET o stałej nazwie "MySql.Data.MySqlClient" nie jest zarejestrowany w profilu komputera ani aplikacji lub nie może być załadowany. Więcej informacji można znaleźć w sekcji Wyjątki wewnętrzne.
InnerException:System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
Spróbuj akcji:
Jeśli skomentuję XML dodane powyżej w konfiguracji, błąd znika. Może to wynikać z faktu, że ten sam sterownik jest zainstalowany na systemie i znajduje się w pliku machine.config.
Ostateczne rozwiązanie i dlaczego:
Spróbuj dodać <remove invariant="MySql.Data.MySqlClient" /> w swojej konfiguracji web. Na twoim komputerze masz już zainstalowany konektor MySql i modyfikujesz swój machine.config, dodając go w DbProviderFactory. Więc jeśli dodasz innego dostawcę danych MySQL w swoim web.config, to tak, jakbyś próbował zarejestrować tę samą rzecz dwa razy.











Poprzedni:C# umieszcza biblioteki referencyjne DLL w podfolderach poprzez sondowanie
Następny:ASP.NET Core Link Tracing (3) SkyAPM opiera się na konfiguracji dynamicznej Consul
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com