Sembra che io abbia 2 anni di ritardo nel rispondere a questo post, ma potrebbe essere utile per coloro che stanno ancora affrontando questo problema, quindi ecco la mia scoperta datata 1 aprile 2012 alle 17:00 EST:
Ho avuto lo stesso problema con una delle mie applicazioni web. E ho scoperto che il suddetto problema sorge quando lo fai:
- Copia e incolla il
MySql.Data.dll
da qualche parte in una cartella. - Hai una copia di qualsiasi versione di
MySql.Data.dll
nella CGA
Sebbene l'applicazione funzioni bene sulla tua macchina di sviluppo in quanto può vedere i file, ma quando la distribuisci su un'altra macchina porta effettivamente l'errore di runtime.
Nel mio caso, il VS2008 mi ha sempre indicato lo stesso errore che hai menzionato. Poi ho fatto questo:
- Rimosso il riferimento alla copia locale della dll
- Ha fatto riferimento alla DLL trovata in GAC
- E imposta la proprietà "Copia locale" su "Vero" della DLL facendo clic con il pulsante destro del mouse->proprietà.
Modifica:
Qualcuno ha chiesto "Dov'è GAC?":
http://msdn.microsoft.com/en-us/library/yf1d93sz(v=vs.110).aspx