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, 1743 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Visual Studio
gelöst C-Sharp WPF XAML CheckBox.IsEnabled wenn ListViewItem.Select (3)

Frage von mayho33 zum Thema Visual Studio ...

Outlook & Mail
Profile in Outlook 2013 via GPO einbinden (4)

Frage von fiffi1 zum Thema Outlook & Mail ...

Batch & Shell
MineColor.dll Für Windows 10? (8)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...