(Ceci est une question dupliquée qui a été posée dans stackoverflow.com J'ai lu les réponses J'ai essayé les solutions, mais cela n'a pas résolu mon problème, je vais expliquer mon problème et ce que j'ai fait).System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'System.Data.SQLite
Ceci est mon problème:
Mon application utilisée System.Data.SQLite.DLL. Je l'ai référencé et fonctionne normalement sur mon ordinateur, mais il n'a pas fonctionné sur un autre ordinateur. Tel est le message d'erreur:
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()
Mon ordinateur fonctionne sous Windows 7 32 bits, Visual Studio 2010.
Un autre ordinateur fonctionne sous Windows 7 32 bits aussi, sans Visual Studio installé.
Ce que j'ai essayé:
Tentative 1: Assurez-vous que l'application est construite avec sortie + x86 et l'application est construite avec le cadre cible: .NET Framework 2.0. Terminé.
Tentative 2: Assurez-vous que l'application fait référence à la construction correcte de System.Data.SQLite, qui est x86 + Net Framework 2.0 (sqlite-netFx20-Win32-2005-1.0.88.0-binaire). Fait
Tentative 3: Essayez ces codes à App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
et ce
<?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>
et ce
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Terminé.
Tentative 4: Essayez de désactiver le contrôle de compte d'utilisateur sur un autre ordinateur. Terminé. Essayez d'installer Visual C++ Runtime sur un autre ordinateur (j'installe le package redistribuable Visual Microsoft Visual C++ Runtime 2010 (x86), également essayé 2005 version.). Terminé.
Tentative 6: Essayez de réinstaller .NET Framework 2.0 SP2. Erreur de réception:
You must use "Turn Windows Features On or Off" in the Control Panel to install or configure Microsoft .NET Framework 2.0 SP2.
Mise à jour: (Après avoir lu les réponses et commentaires)
Tentative 7: Assurez-vous System.Data.SQLite.DLL est situé dans le dossier du bac de sortie. Terminé
Tentative 8: Double confirmez que l'autre ordinateur exécute Windows NT 32 bits.Fait
tentative 9: Changer la déclaration HintPath dans .csproj:
Modifier ceci:
<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>
à ceci:
<Reference Include="System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<HintPath>..\System.Data.SQLite.dll</HintPath>
</Reference>
fait pour tentative 9.
Après les tentatives ci-dessus, la res ult est toujours le même. L'application peut s'exécuter normalement à partir de mon ordinateur et ne pas s'exécuter sur un autre ordinateur.
Ceci est un logiciel gratuit open source, Simple Phone Book. Je me suis engagé et téléchargé le dernier code source de son serveur de contrôle de code source à:
http://simpb.codeplex.com/SourceControl/list/changesets (Changeset Numéro: fd847ac6c406)
Vérifiez si cette dll (System.Data.SQLite.DLL) est copié et se présente dans votre dossier bin – Rex
@Rex Oui, ça l'est. – mjb
Etes-vous absolument certain que l'autre ordinateur ne fonctionne pas en 64 bits? – SWeko