BadImageFormatException при попытке создать базу данных SQLite

У меня очень странная проблема, и я попробовал несколько решений, найденных на www, но это не решило мою проблему.

Несколько дней назад я решил переключиться с метафайлов на базу данных, потому что метафайлы почти полностью использовали мою оперативную память. Мой выбор пал на SQLite, потому что я не хочу заставлять пользователя запускать весь сервер базы данных только для запуска моей программы.

Поэтому я загрузил SQLite на свой ноутбук, сослался на него в своем проекте и продолжил разработку. Все работало нормально. Придя домой, я включил свой настольный компьютер и захотел продолжить разработку (весь мой проект всегда синхронизирован с моим дропбоксом). Но как только код достигает области, где были сделаны 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>

заранее спасибо


person Cuupa    schedule 25.01.2012    source источник
comment
Вы снова загрузили библиотеки DLL? Не исключено, что они коррумпированы, не так ли?   -  person ta.speot.is    schedule 25.01.2012
comment
Иногда самое простое решение — лучшее решение... они действительно коррумпированы. Я скачал последнюю версию, и теперь она работает... Я чувствую себя совсем новичком :D спасибо   -  person Cuupa    schedule 26.01.2012


Ответы (1)


Из нашего обсуждения в комментариях вы получаете ошибку неправильного изображения, потому что файлы повреждены. То есть вы получаете ошибку неправильного изображения, потому что пытаетесь загрузить неверные изображения.

Причина, встреча со следствием.

person ta.speot.is    schedule 26.01.2012