Assembly Resolver
Eintrag zuletzt aktualisiert am: 15.12.2004
Der Assembly Resolver ist ein Teil der
CLR; seine Aufgabe ist es, eine statisch referenzierte Assembly zu Laufzeit zu finden und für den
Assembly Loader die passende
URL zu generieren.
Im Rahmen einer Assembly-Referenz wird in der referenzierenden Assembly lediglich der Name der referenzierten Assembly (ohne die Dateiextension) abgelegt. Der Pfad zu der referenzierten Assembly wird weder relativ noch absolut abgelegt.
Zur Laufzeit einer
Komponente ist es die Aufgabe des Assembly Resolvers eine refenzierte
Komponente zu finden. Der Assembly Resolver verwendet dabei folgende Standard-Suchstrategie:
- Global Assembly Cache (nur wenn die Assembly einen Strong Name besitzt!)
- Anwendungsverzeichnis / Assemblyname.dll
- Anwendungsverzeichnis / Assemblyname / Assemblyname.dll
- Anwendungsverzeichnis / Assemblyname.exe
- Anwendungsverzeichnis / Assemblyname / Assemblyname.exe
Im Normalfall wird eine Assembly nur anhand ihres Namens identifiziert. Bei der Referenzierung einer Assembly mit
Strong Name werden neben dem Namen auch die Versionsnummer, die Kulturinformation und das
Public Key Token (eine Kurzform des öffentlichen Schlüssels) berücksichtigt. Nur wenn alle vier Informationen zutreffen sind, akzeptiert der Assembly Resolver eine Assembly.