C Sharp - DLL einbinden
Hallo zusammen!
Ich bin gerade etwas am Verzweifeln beim Einbinden von DLLs.
Ich habe ein Projekt in C# (erstellt mit Visual Studio Express 2013), das auf eine DLL zugreift. Diese ist unter Verweise eingebunden und wird auch ins Release Verzeichnis kopiert. Wenn ich das Programm auf diesem Rechner ausführe, funktioniert alles wunderbar.
Kopiere ich den Release Ordner (inkl. der DLL) auf einen anderen PC, funktioniert eben diese DLL nicht mehr. Das Programm bringt den Fehler System.IO.FileNotFoundException und verweist auf diese DLL.
In den Verweis-Eigenschaften der DLL steht "Lokale Kopie" auf TRUE. Ich habe auf dem ersten PC auch schon mal dasselbe Verzeichnis erstellt, in das ich das Projekt dann kopiert habe und diesen Pfad beim Verweis angegeben. Interessiert das Programm leider auch nicht.
Die DLL wurde in C++ erstellt.
Kann es sein, dass hier irgendeine Header-Datei falsch eingebunden ist? Aber wieso funktioniert es dann auf dem PC, auf dem ich das Programm erstellt habe? Die Programmierung der DLL liegt hier gar nicht drauf.
Auf diesem PC kann ich den Release Ordner auch überall hin verschieben, das Programm wird trotzdem problemlos ausgeführt.
Habe ich irgendwas übersehen? Mit DLLs hatte ich bisher noch nicht wirklich viel zu tun. Kann es sein, dass die DLL Dateien verwendet, die auf dem zweiten PC nicht vorhanden sind? In der DLL stehen aber auch alle Dateien bei "Zu Projekt hinzufügen" auf TRUE.
Viele Grüße
Eisbrecherin
Ich bin gerade etwas am Verzweifeln beim Einbinden von DLLs.
Ich habe ein Projekt in C# (erstellt mit Visual Studio Express 2013), das auf eine DLL zugreift. Diese ist unter Verweise eingebunden und wird auch ins Release Verzeichnis kopiert. Wenn ich das Programm auf diesem Rechner ausführe, funktioniert alles wunderbar.
Kopiere ich den Release Ordner (inkl. der DLL) auf einen anderen PC, funktioniert eben diese DLL nicht mehr. Das Programm bringt den Fehler System.IO.FileNotFoundException und verweist auf diese DLL.
In den Verweis-Eigenschaften der DLL steht "Lokale Kopie" auf TRUE. Ich habe auf dem ersten PC auch schon mal dasselbe Verzeichnis erstellt, in das ich das Projekt dann kopiert habe und diesen Pfad beim Verweis angegeben. Interessiert das Programm leider auch nicht.
Die DLL wurde in C++ erstellt.
Kann es sein, dass hier irgendeine Header-Datei falsch eingebunden ist? Aber wieso funktioniert es dann auf dem PC, auf dem ich das Programm erstellt habe? Die Programmierung der DLL liegt hier gar nicht drauf.
Auf diesem PC kann ich den Release Ordner auch überall hin verschieben, das Programm wird trotzdem problemlos ausgeführt.
Habe ich irgendwas übersehen? Mit DLLs hatte ich bisher noch nicht wirklich viel zu tun. Kann es sein, dass die DLL Dateien verwendet, die auf dem zweiten PC nicht vorhanden sind? In der DLL stehen aber auch alle Dateien bei "Zu Projekt hinzufügen" auf TRUE.
Viele Grüße
Eisbrecherin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252149
Url: https://administrator.de/forum/c-sharp-dll-einbinden-252149.html
Ausgedruckt am: 09.01.2025 um 02:01 Uhr
3 Kommentare
Neuester Kommentar
Hallo.
Kontrolliere doch mal ob du hardcoded Links drinnen hast. Beispiel: "%temp%" könnte man auch fix als "C:\Users\Username\AppData\Local\Temp" schreiben.
Wenn du die Pfade fix in deinem Code hast, die Pfade bei dem PC an dem du die Software verwendest aber abweichen, so hast du natürlich eine FileNotFound Exception.
Wäre mal zum überprüfen.
Liebe Grüße
ITvortex
Kontrolliere doch mal ob du hardcoded Links drinnen hast. Beispiel: "%temp%" könnte man auch fix als "C:\Users\Username\AppData\Local\Temp" schreiben.
Wenn du die Pfade fix in deinem Code hast, die Pfade bei dem PC an dem du die Software verwendest aber abweichen, so hast du natürlich eine FileNotFound Exception.
Wäre mal zum überprüfen.
Liebe Grüße
ITvortex