Laden...

Assembly im GAC

Erstellt von JK_net vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.181 Views
J
JK_net Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren
Assembly im GAC

Hallo!

Ich habe eine Dll mit einem StrongKeyname versehen und anschließend in den GAC geladen.
Meine Frage ist jetzt wie greife ich darauf aus anderen Projekten zu?
Wenn ich eine Anwendung schreibe, brauche ich ja einen Verweis auf die Dll, aber wo muss die liegen?

MfG
Jens

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo JK_net,

wo du willst. 🙂

herbivore

J
JK_net Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren

Hi!

Nur mal zum Verständnis:
D.h. ich speichere einmal eine Dll z.b. unter c:\windows\system
und alle Programme können gleichzeitig auf diese eine Dll zugreifen?
Ohne gac wäre dies nicht möglich, oder habe ich den Sinn jetzt falsch
verstanden?

MfG
Jens

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo JK_net,

so ist das. Allerdings wäre es auch ohne GAC möglich.

Ich hatte früher gedacht, dass man sich durch den GAC gerade die Referenzen sparen könnte, dem ist aber nicht so. Insofern stellt sich für mich auch die Frage, was der GAC nützt.

herbivore

J
JK_net Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren

Genau das ist bei mir auch der Grund.
Die Frage nach dem Sinn stellt sich mir auch gerade... 😉

Gut das ich nicht der Einzige bin 🙂

Vielen Dank für die Info!

Gruß
Jens

_
416 Beiträge seit 2005
vor 18 Jahren

Hallo,

wenn ich nicht falsch liege kann man in den GAC dieselbe DLL mit unterschiedlichen Versionsnummern beliebig oft reintun. Der Client fordert dann eine bestimmte Version an und bekommt diese. Ist die Version nicht vorhanden gibts einen Fehler.
In den System-Ordner kann man nur genau eine DLL mit dem gleichen Namen reinlegen. Dafür kann eine Client auch eine neuere Version verwenden, denn er nimmt die eine die er findet.

cu, tb

M
456 Beiträge seit 2004
vor 18 Jahren

@tb

Genau so ist es. Der GAC erlaubt die Installation von beliebig vielen Version einer Assembly.
Was der Explorer unter C:\windows\assembly anzeigt, ist ja nicht wirklich der eigentliche Verzeichnisinhalt. Ein kleines Programm namens shfusion vereinheitlicht die Ansicht auf den GAC.
Wenn man sich mal das besagte Verzeichnis in der Kommandozeile ansieht, wird man feststellen, dass die Assemblies nach Versionsnummer und Strongname in diverse Unterverzeichnisse einsortiert werden.

I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.