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, 1807 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
Visual Studio
C-Sharp WPF MVVM ListView mit TextBox SelectionChanged Event (2)

Frage von mayho33 zum Thema Visual Studio ...

Visual Studio
C-Sharp Code in native Code kompilieren? (3)

Frage von clragon zum Thema Visual Studio ...

Visual Studio
gelöst C-Sharp WPF ListView Select nur bei bestimmter Spalte (2 Fragen in einer) (3)

Frage von mayho33 zum Thema Visual Studio ...

C und C++
C-Sharp Event fängt an rumzuspinnen (2)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (15)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...

Microsoft
gelöst Subnetting: In welchem Subnetz befindet sich die IP? (12)

Frage von winler zum Thema Microsoft ...