nicht laden (Dies ist eine doppelte Frage, die in stackoverflow.com gestellt wurde. Ich habe die Antworten gelesen. Ich habe die Lösungen ausprobiert, aber das hat mein Problem nicht gelöst, ich werde erklären, was mein Problem ist und was ich getan habe.System.IO.FileLoadException: Konnte Datei oder Assembly 'System.Data.SQLite
Das ist mein Problem:
Meine Anwendung verwendet System.Data.SQLite.DLL. Ich habe darauf verwiesen und normal auf meinem Computer ausgeführt, aber es konnte nicht auf einem anderen Computer ausgeführt werden. Dies ist die Fehlermeldung:
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()
Mein Computer läuft Windows 7 32 Bit, Visual Studio 2010
Ein weiterer Computer läuft Windows 7 32 Bit zu, ohne Visual Studio installiert.
Was ich versucht habe:
Versuch 1: Achten Sie darauf, die Anwendung erstellen ist mit Veröffentlichung + x86 und die Anwendung wird mit dem Zielrahmen bauen: .NET Framework 2.0. Erledigt.
Versuch 2: Vergewissern Sie sich, die Anwendung mit dem richtigen Build von System.Data.SQLite verwiesen, die x86 + .Net Framework 2.0 (SQLite-netFx20-Binär-Win32-2005-1.0.88.0) ist. Fertig
Versuch 3: Versuchen Sie diese Codes bei App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
und diese
<?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>
und diese
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Erledigt.
Versuch 4: Versuchen Sie, die Benutzerkontensteuerung auf dem anderen Computer auszuschalten. Erledigt.
Versuch 5: Versuchen Sie, Visual C++ Runtime auf dem anderen Computer zu installieren (ich installiere Visual Microsoft Visual C++ Runtime 2010 Redistributable Package (x86), auch versuchte 2005 Verson.). Erledigt.
Versuch 6: Versuchen Sie, .NET Framework 2.0 SP2 neu zu installieren. Empfangsfehler:
You must use "Turn Windows Features On or Off" in the Control Panel to install or configure Microsoft .NET Framework 2.0 SP2.
Aktualisiert: (Nach dem Lesen der Antworten und Kommentare)
Versuch 7: Stellen Sie sicher, System.Data.SQLite.DLL am Ausgabefach-Ordner befindet. Fertig
Versuch 8: Bestätigen Sie, dass auf dem anderen Computer 32-Bit-Windows 7 ausgeführt wird.Fertig
Versuch 9: die HintPath Erklärung in CSPROJ Datei ändern:
ändern diese:
<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>
Um dies:
<Reference Include="System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<HintPath>..\System.Data.SQLite.dll</HintPath>
</Reference>
für Versuch getan 9.
Nach den obigen Versuchen, die res Ult ist immer noch das Gleiche. Die Anwendung kann normal von meinem Computer ausgeführt werden und konnte nicht auf dem anderen Computer ausgeführt werden.
Dies ist eine Open-Source-Freeware, Einfache Telefonbuch. Ich habe begangen und hochgeladen die neuesten Quellcode es Quellcodeverwaltung Server ist unter:
http://simpb.codeplex.com/SourceControl/list/changesets (Changeset-Nummer: fd847ac6c406)
Überprüfen Sie, ob diese dll (System.Data.SQLite.DLL) wird immer in Ihrem Binärordner – Rex
@Rex kopiert und Gegenwart Ja, so ist es. – mjb
Sind Sie absolut sicher sicher, dass der andere Computer 64-Bit nicht ausführt? – SWeko