6 Stimmen

SQL Server Compact-Fehler: DLL 'sqlceme35.dll' kann nicht geladen werden. Das angegebene Modul konnte nicht gefunden werden

Ich entwickle gerade ein Windows-Formulare Anwendung mit Visual Studio 2008 C#, die eine SQL Server Kompakt 3.5-Datenbank auf dem Client. Der Client wird höchstwahrscheinlich ein 32-Bit-Windows-XP- oder Windows-Vista-Rechner sein. Ich verwende ein Standard-Windows-Installer-Projekt, das eine MSI Datei und setup.exe, um die Anwendung auf einem Client-Rechner zu installieren. Da ich SQL Server Compact noch nicht kenne, musste ich noch nie eine Client-Datenbank wie diese verteilen. Wenn ich die setup.exe ausführe (auf einem neuen Windows XP 32-Bit mit SP2 und Internet Explorer 7), wird sie ordnungsgemäß installiert, aber wenn ich die Anwendung ausführe, erhalte ich diesen Fehler:

Die DLL 'sqlceme35.dll' kann nicht geladen werden. Das angegebene Modul konnte nicht gefunden werden

Ich habe bereits einige Stunden mit der Suche nach diesem Fehler verbracht, aber alles, was ich finden konnte, waren Probleme, die sich auf die Installation unter 64-Bit-Windows beziehen, und keine, die sich auf die normale 32-Bit-Version beziehen, die ich verwende.

Die Installationsanwendung kopiert alle abhängigen Dateien, die sie gefunden hat, in das angegebene Installationsverzeichnis, einschließlich der Datei System.Data.SqlServerCe.dll Datei (Assembly-Version 3.5.1.0). Die Datenbankdatei befindet sich in einem Verzeichnis namens "data" außerhalb des Anwendungsverzeichnisses, und die Verbindungszeichenfolge für sie lautet

<add name="Tickets.ieOutlet.Properties.Settings.TicketsLocalConnectionString"         connectionString="Data Source=|DataDirectory|\data\TicketsLocal.sdf"  providerName="Microsoft.SqlServerCe.Client.3.5" />

Ich habe einige Fragen:

  • Sollte die Anwendung in der Lage sein, die DLL-Datei zu finden, wenn sie sich im selben Verzeichnis befindet, d. h. lokal in der Anwendung, oder muss ich sie im Verzeichnis GAC ? (Wenn ja, kann ich den Windows Installer verwenden, um eine DLL-Datei im GAC zu installieren?)
  • Gibt es noch etwas, das ich mit der Anwendung verteilen muss, um eine SQL Server Compact-Datenbank zu verwenden?
  • Es gibt auch andere DLL-Dateien, z. B. MS Interop für den Export von Daten nach Excel auf dem Client. Müssen diese im GAC installiert werden oder reicht es aus, sie im Anwendungsverzeichnis zu finden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X