(Это дублированный вопрос, заданный в stackoverflow.com. Я прочитал ответы. Я пробовал решения, но это не решило мою проблему. Я расскажу, в чем моя проблема и что я сделал).System.IO.FileLoadException: Не удалось загрузить файл или сборку 'System.Data.SQLite
Это моя проблема:
Мое приложение используется System.Data.SQLite.DLL. Я ссылался на него и работал нормально на своем компьютере, но он не запускался на другом компьютере. Это сообщение об ошибке:
System.IO.FileLoadException: Could not load file or assembly 'System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The application has failed to start because its side-by-side
configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.
(Exception from HRESULT: 0x800736B1) File name: 'System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' ---> System.Runtime.InteropServices.COMException (0x800736B1): The application has failed to start because its side-by-side
configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.
(Exception from HRESULT: 0x800736B1) at SimPB.config.PrepareDatabase() at SimPB.config.InitializeProgram() at SimPB.Program.Main()
Мой компьютер работает под управлением Windows 7 32 бит, Visual Studio 2010.
Другой компьютер работает под управлением Windows 7 32 бит тоже не установлен Visual Studio.
То, что я пробовал:
Попытка 1: Убедитесь, что приложение строится с Release + x86 и приложения строить с целевой структуры: .NET Framework 2.0. Готово.
Попытка 2: Убедитесь, что приложение, на который ссылается при правильной сборке System.Data.SQLite, что x86 + .Net Framework 2.0 (SQLite-netFx20-двоично-Win32-2005-1.0.88.0). Совершено
Покушение 3: Попробуйте эти коды на App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
и это
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
и это
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Done.
Попытка 4: Попробуйте отключить контроль учетных записей пользователей на другом компьютере. Готово.
Попытка 5: Попробуйте установить Visual C++ Время воспроизведения на другом компьютере (установить Визуальный Microsoft Visual C++ 2010 Redistributable время выполнения пакета (x86), а также попытался 2005 Verson.). Готово.
Попытка 6: Попробуйте переустановить .NET Framework 2.0 SP2. Получить сообщение об ошибке:
You must use "Turn Windows Features On or Off" in the Control Panel to install or configure Microsoft .NET Framework 2.0 SP2.
Обновлено: (После прочтения ответов и комментариев)
ПОПЫТКИ 7: Убедитесь System.Data.SQLite.DLL находится в папке выходного лотка. Выполнено
Попытка 8: Двойное подтверждение, что на другом компьютере работает 32-разрядная Windows 7.Совершено
Покушение 9: Измените объявление HintPath в .csproj файле:
Изменить это:
<Reference Include="System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<HintPath>E:\Developer Soft\SQLite\sqlite-netFx20-binary-bundle-Win32-2005-1.0.88.0\System.Data.SQLite.dll</HintPath>
</Reference>
Для этого:
<Reference Include="System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<HintPath>..\System.Data.SQLite.dll</HintPath>
</Reference>
Готово для Покушение 9.
После вышеуказанных попыток res Ультра все тот же. Приложение может нормально работать с моего компьютера и не запускаться на другом компьютере.
Это бесплатное программное обеспечение с открытым исходным кодом, Простая телефонная книга. Я совершил и загрузил последнюю версию исходного кода это сервер управления источником по адресу:
http://simpb.codeplex.com/SourceControl/list/changesets (ревизия, номер: fd847ac6c406)
Проверьте это дллы (System.Data.SQLite.DLL) становятся скопированы и присутствуют в вашей папке бен – Rex
@Rex Да. – mjb
Вы абсолютно уверены, что на другом компьютере не работает 64-битный? – SWeko