У меня очень странная проблема, и я попробовал несколько решений, найденных на www, но это не решило мою проблему.
Несколько дней назад я решил переключиться с метафайлов на базу данных, потому что метафайлы почти полностью использовали мою оперативную память. Мой выбор был сделан на SQLite, потому что я не хочу заставлять пользователя запускать весь сервер базы данных только для запуска моей программы.
Итак, я загрузил SQLite на свой ноутбук, добавил его в свой проект и продолжил разработку. Все работало нормально Когда я вернулся домой, я включил настольный компьютер и хотел продолжить разработку (весь мой проект всегда синхронизирован с моим Dropbox). Но как только код достигает региона, где были сделаны SQLite-вызовы, я получаю исключение BadImageFormatException.
Google сказал мне переключить мое приложение на x86, но потом оно зависало ...
Обе системы - x64 Windows 7.
Я переместил dll в / bin / Debug / lib / x86 / и / bin / Debug / lib / x64 / и отредактировал .csproj - файл, как это предусмотрено в этом решении, но это не работает вообще .. .
Ориентация как на 32, так и на 64 бита с помощью Visual Studio в одном решении / проекте
Мой .csproj-файл теперь выглядит так:
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'x86' ">
<Reference Include="System.Data.SQLite">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\lib\x86\System.Data.SQLite.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Platform)' == 'AMD64' ">
<Reference Include="System.Data.SQLite">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\lib\x64\System.Data.SQLite.dll</HintPath>
</Reference>
</ItemGroup>
Заранее спасибо