Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum muss der MySQL-Connector trotzdem auf dem Computer installiert sein, obwohl ich die richtigen NuGet-Pakete habe?

Ich vermute, dass das Installationsprogramm von Connector/NET 8.0 Ihren C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config ändert -Datei, die von allen .NET-Anwendungen auf dem Computer gemeinsam genutzt wird. Leider handelt es sich hierbei um eine lokale Änderung auf Ihrem Computer, was bedeutet, dass Ihre Anwendung bei der Bereitstellung möglicherweise nicht ordnungsgemäß funktioniert.

Die Lösung besteht darin, MySql.Data zu Ihrer app.config hinzuzufügen (oder Web.config ) Datei. Ich bin mir nicht sicher, ob die NuGet-Pakete dafür ausgelegt sind, dies automatisch zu tun oder nicht.

Per der Oracle-Dokumentation , fügen Sie diese Informationen zu app.config hinzu :

<system.data>
   <DbProviderFactories>
     <remove invariant="MySql.Data.MySqlClient" />
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" 
          type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
   </DbProviderFactories>
</system.data>