Assembly aus Unterverzeichnis laden

27/11/2008 - 14:18 von Thomas Kehl | Report spam
Hallo zusammen.

Ich habe folgendes Problem:

Ich entwickle eine Assembly X.dll
Diese hat einen Verweis auf Y.dll
Das funktioniert auch alles wunderbar, wenn beide Assemblies im gleichen
Verzeichnis liegen. Nun ist es aber in der produktiv-Umgebung so, dass die
referenzierte Assembly Y.dll in einem Unterverzeichnis des Pfades, in dem
X.dll liegt, ist. Nun wird Y.dll nicht mehr gefunden. Ich bin bis jetzt
davon ausgegangen, dass beim Auflösen der Verweise zuerst im aktuellen
Verzechnis und dann im Unterverzeichnis gesucht wird. Ist das nicht so -
bzw. muss ich, um dieses Verhalten zu erreichen noch was einstellen?

Hier die bildliche Veranschaulichung, wie es nicht funktioniert (- sind
Verzeichnisse):

- bin
X.dll
- API
Y.dll

So funktionierts logischerweise:
- bin
X.dll
Y.dll

kann mir jemand weiterhelfen? - Vielen Dank!

Beste Grüsse, Thomas
 

Lesen sie die antworten

#1 Frank Dzaebel
27/11/2008 - 14:56 | Warnen spam
Hallo Thomas,

[Zusàtzliches API-Verzeichnis auf Assemblies durchsuchen]
kann mir jemand weiterhelfen? - Vielen Dank!



Zunàchst findest Du hier, wie die CLR
standardmàssig nach Assemblies sucht:

[So sucht Common Language Runtime nach Assemblys]
http://msdn.microsoft.com/de-de/lib...xezcf.aspx

Für Dich bieten sich sich nun mehrere Möglichkeiten:
Zum Beispiel über die Konfigurationsdatei:

[<probing>-Element]
http://msdn.microsoft.com/de-de/lib...z9h8w.aspx

In Deinem Fall wàre das eine
"<DeineHaupAssembly>.config" Datei im
Ausführungsordner, in der
(u.a.) folgendes stehen würde:

<configuration>
<runtime>
<assemblyBinding xmlns "urn:schemas-microsoft-com:asm.v1">
<probing privatePath="API"/>
</assemblyBinding>
</runtime>
</configuration>


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen