Teilweise gekennzeichnete Assemblyverweise und parallele Ausführung
Teilweise gekennzeichnete Assemblyverweise können lediglich zum Binden von Assemblys in einem Anwendungsverzeichnis verwendet werden, da sie eine mögliche Problemquelle bei der parallelen Ausführung darstellen. Vermeiden Sie die Verwendung teilweiser gekennzeichneter Assemblyverweise in Code.
Um das Vorkommen von teilweise gekennzeichneten Assemblyverweisen im Code zu verringern, verwenden Sie das <qualifyAssembly>-Element in einer Anwendungskonfigurationsdatei, um im Code auftretende teilqualifizierte Assemblyverweise voll zu qualifizieren. Mit dem <qualifyAssembly>-Element können Sie nur die Felder angeben, die im partiellen Verweis nicht festgelegt wurden. Die im fullName-Attribut aufgeführte Assemblyidentität muss alle Informationen enthalten, die für die vollständige Kennzeichnung des Assemblynamens erforderlich sind: Assemblyname, öffentlicher Schlüssel, Kultur und Version.
Im folgenden Beispiel wird der Eintrag in der Anwendungskonfigurationsdatei dargestellt, mit dem die Assembly myAssembly
vollqualifiziert wird.
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="myAssembly"
fullName="myAssembly,
version=1.0.0.0,
publicKeyToken=...,
culture=neutral"/>
</assemblyBinding>
Wenn eine Anweisung zum Laden einer Assembly auf myAssembly
verweist, bewirken diese Einstellungen in der Konfigurationsdatei, dass die Common Language Runtime den teilqualifizierten Verweis auf myAssembly
in einen vollqualifizierten Verweis übersetzt. Beispielsweise wird Assembly.Load("myAssembly") zu Assembly.Load("myAssembly, version=1.0.0.0, publicKeyToken=..., culture=neutral").
Hinweis
Mit der LoadWithPartialName-Methode können Sie die Einschränkung der Common Language Runtime umgehen, die verhindert, dass Assemblys mit partiellen Verweisen aus dem globalen Assemblycache geladen werden. Diese Methode sollte nur bei Remoteszenarien verwendet werden, da es häufig zu Problemen bei der parallelen Ausführung kommen kann.
Siehe auch
Konzepte
Weitere Ressourcen
Assemblys in der Common Language Runtime (CLR)
Grundlagen der parallelen Ausführung