VisualBasic .NET - System.IO.FileLoadException

thepro1

Lt. Junior Grade
Registriert
Apr. 2008
Beiträge
411
Hallo liebe Community,

ich verwende eine SQLite-Datenbank und bekomme folgende Fehlermeldung:
Code:
System.IO.FileLoadException: Die Datei oder Assembly "System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" oder eine Abhängigkeit davon wurde nicht gefunden.
Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)
Dateiname: "System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"
   bei LizenzHandler.LizenzHandler.isLicenceValid(Fingerprinter pFingerprinter, String pSerienNummer) in C:\Projekte\Trunk\Lizenzverwaltung\LizenzHandler\LizenzHandler.vb:Zeile 58.
   bei saeSales.MainContainer.MainContainer_Loaded(Object sender, RoutedEventArgs e) in C:\Projekte\Trunk\saeSalesUI.Main\Dialogs\MainContainer.xaml.vb:Zeile 299.
   bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   bei System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   bei System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   bei MS.Internal.LoadedOrUnloadedOperation.DoWork()
   bei System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   bei System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   bei System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   bei System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   bei System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)
   bei System.Windows.Interop.HwndTarget.OnResize()
   bei System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   bei System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

=== Zustandsinformationen vor Bindung ===
LOG: Benutzer = SCHAARSCHMIDT\wir
LOG: DisplayName = System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
 (Fully-specified)
LOG: Appbase = file:///C:/Projekte/Trunk/saeSalesUI.Main/bin/x86/Debug/
LOG: Ursprünglicher PrivatePath = NULL
Aufruf von Assembly : DbMapper, Version=1.0.60.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: C:\Projekte\Trunk\saeSalesUI.Main\bin\x86\Debug\saeSales.vshost.exe.config
LOG: Die Hostkonfigurationsdatei wird verwendet: 
LOG: Die Computerkonfigurationsdatei von C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config wird verwendet.
LOG: Verweis nach der Richtlinie: System.Data.SQLite, Version=1.0.60.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
LOG: Download von neuem URL file:///C:/Projekte/Trunk/saeSalesUI.Main/bin/x86/Debug/System.Data.SQLite.DLL.
WRN: Der Vergleich des Assemblynamens führte zum Konflikt: Buildnummer.
ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Die Suche wurde beendet.

Der Fehler tritt erst auf, seitdem ich meine Projekte in eine größere Projektmappe eingebunden habe. Alle Verweise sind vorhanden und alle benötigten DLLs sind auch im Ausgabeverzeichnis.

Wer hat da eine Idee? :)
 
Hallo,

sieht so aus als wäre bei der SQlite Referenz im neuen Projekt das "copy local" nicht aktiv, d.h. er kopiert die DLL nicht in das bin Verzeichnis beim kompilieren --> Programm findet DLL nicht

Gruß,
d2boxSteve
 
Danke schon mal für eure Antworten.

@Hancock:
Was meinst du mit "explizit aktivieren"?
@d2boxSteve:
die System.Data.SQLite.dll ist im Ausgabeverzeichnis.
 
ich würde vorschlagen den DLL-Verweis im Visual Studio neu zu setzen.

Praktikabel ist es , die DLL als Teil der Projektmappe zu führen. Entferne mal den aktuellen Verweis aus der Projektmappe. Dazu im Projektmappenexplorer "alle Dateien einblenden" wählen, damit die Verweise sichtbar werden. Lege die entsprechende DLL-Datei in die Projektmappe (also dort wo auch die Codedateien liegen) und setze den Verweis im Projektmappenexplorer neu.

Dann kannst du beim entsprechenden Verweis "lokale Kopie" aktivieren. Nun müsste das Visual studio bei jedem Kompiliervorgang die DLL in das Zielverzeichnis (Debug/Release) kopieren.
 
@Kagee
Danke für deine Antwort, hab ich aber schon probiert.

Der Fehler kam, da ich einer Konstanten den Wert einer Variablen zugewiesen habe. :D
 
Zurück
Oben