Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

C Sharp - DLL einbinden

Frage Entwicklung C und C++

Mitglied: Eisbrecherin

Eisbrecherin (Level 1) - Jetzt verbinden

16.10.2014, aktualisiert 17.10.2014, 1844 Aufrufe, 3 Kommentare

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
Mitglied: ITvortex
LÖSUNG 16.10.2014, aktualisiert 17.10.2014
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
Bitte warten ..
Mitglied: SeaStorm
LÖSUNG 17.10.2014, aktualisiert um 10:15 Uhr
um was für eine DLL geht es denn?
Evtl benötigt diese DLL ja selbst auch noch andere DLLs oder ein installiertes (und lizenziertes) Stück Software.

Per Procmon könntest du recht fix rausfinden welche Dateien er noch sucht
Bitte warten ..
Mitglied: Eisbrecherin
17.10.2014 um 10:15 Uhr
Hallo!

die DLL stellt eine Verbindung zu einer Essbase Datenbank her. Die Software dazu ist auf beiden Rechnern installiert.

Procmon hat mich jetzt weitergebracht. In meiner Programmierung hat alles gepasst. Aber die DLL braucht tatsächlich noch eine andere DLL, die zwar auf beiden Rechnern vorhanden war, aber tatsächlich mit fixem (und auf dem zweiten PC falschem) Pfad hinterlegt war.
Nachdem das korrigiert wurde, läuft es jetzt.

Danke für die Denkanstöße


Viele Grüße
Eisbrecherin
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Drucker via GPO einbinden (2)

Frage von Ghost108 zum Thema Windows Server ...

C und C++
C-sharp soll Datei von PHP speichern (3)

Frage von Yanmai zum Thema C und C ...

C und C++
gelöst C-sharp Form buggt (2)

Frage von Yanmai zum Thema C und C ...

Visual Studio
gelöst String bzw Char in Argumentenkette einbinden, möglich? (4)

Frage von PixL86 zum Thema Visual Studio ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Firewall
Welche Firewall ? (18)

Frage von Cyberurmel zum Thema Firewall ...

Windows Server
gelöst Einzelnes Windows Update über GPO deinstallieren (16)

Frage von lordofremixes zum Thema Windows Server ...

Windows Server
GPO zum Deinstallieren von Office Update wird nicht ausgeführt (15)

Frage von lordofremixes zum Thema Windows Server ...