Laden...

Dlls einbinden

Erstellt von AlfameisterT vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.339 Views
A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 18 Jahren
Dlls einbinden

Hallo,

ein Programm umfasst mittlerweile ne ganze menge Dateien auch DLLs. Diese würde ich gerne in Unterverzeichnisse aufteilen, z.B. eins für Plugins, eins für die Applikation selbst, noch noch weitere Unterordner.

Nu teilen sich aber z.B. Plugins Funktionalitäten aus anderen DLL's.
Wenn ich die jetzt in verschiedene Verzeichnisse aufteile denke ich mir das diese dann nicht mehr gefunden wird.

VS packt ja alles ins root Verzeichnis, da ist das kein Problem.

Gibts da nen Ausweg?
Kann man nen Pfad angeben wo DLLs gesucht werden?

.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo AlfameisterT,

wie die DLLs untereinander voneinander abhängen ist vollig egal. Wenn eine DLL geladen werden soll - egal von wo das angestoßen wird - muss sie gefunden werden. DLLs werden im Arbeitsverzeichnis des Programms gesucht und im GAC.

Darüberhinaus werden alle Verzeichnisse in der Umgebungsvariable PATH durchsucht. Hier kannst du also deine Verzeichnisse eintragen - mit Semikolon getrennt - und dann müsste es gehen.

Die genaue Suchreihenfolge ist irgendwo in der SDK-Doku beschrieben.

herbivore

A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 18 Jahren

Also dann gibt es keinen Ausweg das Programm Arbeitsverzeichnis mit Unterordner zu strukturieren.
Ich will auch nicht das Windows zu müllen in dem ich die Path Variable setzte.

.

P
939 Beiträge seit 2003
vor 18 Jahren

Du kannst deiner Anwendung eine App-Config mitgeben. Die Datei befindet sich im Verzeichnis der Exe und ist benannt wie die Exe, nur mit config-Endung. In der App-Config kann eingestellt werden, wo sich eine bestimmte Dll befindet. Ob man auch einen Dll-Suchpfad angeben kann, weiss ich nicht, wäre natürlich einfacher.

Msdn: Specifying an Assembly's Location

Gruss
Pulpapex

A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 18 Jahren

Vielen Dank, das hilft mir weiter.