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.