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, 1703 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
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows Netzwerk
USB-Gerät ins Netzwerk (Domäne) einbinden (4)

Frage von griss0r zum Thema Windows Netzwerk ...

Windows 7
Tool für Clients zum Drucker einbinden (6)

Frage von DragonKill zum Thema Windows 7 ...

Exchange Server
Zweite Exchange Postfach in Outlook 2010 einbinden (2)

Frage von DieAzubinne zum Thema Exchange Server ...

Windows Server
Spoolsv beendet sich selbst (OLEAUT32.dll) (5)

Frage von freenode zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...