Auslieferung DLLs

29/04/2010 - 21:04 von Mike Wesling | Report spam
Hallo,

ich habe ein paar Fragen zum Thema DLL-Deployment.

Hier ein Szenario:

- Es gibt verschiedene C# Projekte, die DLLs erzeugen
- Es gibt auch 3rd-Party DLLs, die ebenfalls eingebunden werden sollen
(nicht zwangslàufig .NET, aber meist .NET)
- Ein C# Projekt soll diese DLLs in der neuesten Version referenzieren

Ich hàtte jetzt gesagt, dass man sich irgendwo auf der Platte sein DLL
Ausgabe-Verzeichnis anlegt und per Projekt-Einstellungen die DLLs dort
erzeugt.

Im C# Projekt, das diese DLLs einbindet werden Verweise auf die DLLs in
diesem Ordner gesetzt.

Nun kommt die eigentliche Frage: Wie verhàlt sich das denn, wenn ich zur
Auslieferung folgende Verzeichnis-Struktur aufbauen will.

C:\Program Files\MyAppSuite\App1
C:\Program Files\MyAppSuite\App2
C:\Program Files\MyAppSuite\App3
C:\Program Files\MyAppSuite\DLLs

Wie kann ich denn in meinem C#-Projekt die Verweise so setzen, dass ich
einfach nur die EXE-Dateien in die entsprechenden App1-AppX Ordner legen
kann und diese die DLLs in der neuesten Version immer aus dem
DLLs-Ordner referenzieren?

Ich hàtte schon mal per gesagt, dass die Verweis-Eigenschaft "Lokale
Kopie" und "Spezifische Version" auf false sein sollten.

Wie kommt nun aber die EXE-Datei spàter dazu die neueste Version aus dem
"..\MyAppSuite\DLLs\" Verzeichnis zu nehmen. Im C#-Projekt wird die DLL
ja nicht aus dem spàteren Installations-Verzeichnis referenziert,
sondern einem ganz anderen Verzeichnis, möglicherweise nicht mal auf
demselben Laufwerk.


Wie macht man das denn in aller Regel?? Gibt es hier ein Best-Practice?
 

Lesen sie die antworten

#1 Frank Dzaebel
30/04/2010 - 07:52 | Warnen spam
Hallo Mike,

C:\Program Files\MyAppSuite\App1
C:\Program Files\MyAppSuite\App2 [...]
Wie macht man das denn in aller Regel??
Gibt es hier ein Best-Practice?



Ja, man benutzt oft die config-Datei:

[Schritt 4: Suchen der Assembly mit CodeBases oder durch Sondierung]
http://msdn.microsoft.com/de-de/lib...yw9x3.aspx

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

[<codeBase>-Element]
http://msdn.microsoft.com/de-de/lib...781xb.aspx

bis hin zu:

[Umleiten von Assemblyversionen]
http://msdn.microsoft.com/de-de/lib...6ex19.aspx


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

Ähnliche fragen