sql >> Databasteknik >  >> RDS >> Mysql

Det gick inte att läsa in filen eller sammansättningen 'System.Data-fel vid distribution av applikation i produktionsdatabasen

Anledningen till att undantaget kastas så fort du anger metoden är enkel - JIT-kompilatorn behöver bara lösa referenserna då. MySqlConnection kräver System.Data, och det är den första metoden att göra det, så det är då undantaget kastas.

När det gäller felsökning av problemet verkar det som felaktigt installerat .NET-ramverk på måldatorn. Du bör prova Hur man aktivera assembly bind-felloggning (Fusion) i .NET för att ta en titt på var .NET faktiskt försöker hitta biblioteket och varför det kasserar allt som det hittar överhuvudtaget.

Om det inte leder till att du löser ditt problem, skulle jag försöka avinstallera och installera om .NET Framework 2.0 och sedan 3.5.

Anledningen till att Copy Local fungerar är att programmet inte försöker ladda DLL:n från Global Assembly Cache, utan snarare från den körbara katalogen i din applikation. Men ditt verkliga problem är att det inte hittar rätt DLL i GAC.

Om Fusion visar dig att MySQL-biblioteket försöker ladda en felaktig version av System.Data, kan du använda ett applikationsmanifest för att tvinga det att ladda en annan version (som förhoppningsvis bör vara kompatibel). Du kan läsa om applikationsmanifest här - http:// msdn.microsoft.com/en-us/library/aa374191(VS.85).aspx

Lycka till.



  1. Vad är SQL Server-motsvarigheten till INET_ATON

  2. PHP/MYSQL Hämta namn baserat på ett annat kriterium

  3. Sessionsvariabler:Hur mycket data är för mycket?

  4. Hur får jag SQL-databas till R från lokal värd?