Вы получаете эту ошибку в результате несоответствия сборки между скомпилированной dll и загруженной dll.Это не связано с тем, что ваша целевая машина является 64-битной, поскольку не существует 64-битной версии соединителя Ado.Net для MySQL. Все двоичные файлы коннекторов скомпилированы с целью "Любой ЦП", который должен работать как на 32-битных, так и на 64-битных машинах.
Я проверил, что dll Сэм предоставил в своей ссылке, и это снова нацеливается "Любой процессор ", а не" x64 ".Для проверки вы можете сделать
System.Reflection.AssemblyName.GetAssemblyName("MySql.Data.dll").ProcessorArchitecture.ToString();
, что дает MSIL
, что означает «Любой процессор».
Или вы можете сделать даже это:
Start/Programs/Microsoft Visual Studio xx/Visual Studio Tools/Command Prompt
cd "directory to dll"
corflags MySql.Data.dll
, чтоPE = PE32 and 32BIT = 0
, что означает, что он скомпилирован на платформе "Любой процессор".