Verwenden von parallelen Assemblys als Ressource

Sie können einer Anwendung ein Manifest als Ressource in der binären ausführbaren Headerdatei der Anwendung hinzufügen. Der Wert der MANIFEST_RESOURCE_ID bestimmt, wie die im Manifest beschriebenen parallelen Assemblyabhängigkeiten vom Ladeprogramm verwendet werden.

Wenn Sie die MANIFEST_RESOURCE_ID auf 1 festlegen, verwendet das Ladeprogramm die im Manifest angegebenen parallelen Assemblyabhängigkeiten als Prozessstandard. Alle Plug-Ins verwenden diesen Prozess ebenfalls standardmäßig.

In der folgenden Tabelle wird zusammengefasst, wie das Ladeprogramm das Manifest für verschiedene Werte von MANIFEST_RESOURCE_ID verwendet, wenn die Anwendung mit dem Flag -DISOLATION_AWARE_ENABLED kompiliert wird. Beachten Sie, dass die Werte 1 bis 16 für die Verwendung durch Windows XP reserviert sind. Ein Entwickler kann andere Werte verwenden, wenn er die Aktivierungskontexte mithilfe der in der Aktivierungskontextreferenz beschriebenen Funktionen verwalten möchte.

Wert von MANIFEST_RESOURCE_ID Manifest gibt den Prozessstandard an? Für statische Importe verwenden? Für exe verwenden? Für eine DLL verwenden? Verwendet parallele Version von Assemblys, wenn sie mit -DISOLATION_AWARE_ENABLED kompiliert werden?
1 Ja Ja Ja Nein Ja
2 Nein Ja Ja Ja Ja
3 Nein Nein Ja Ja Ja

 

MANIFEST_RESOURCE_ID 1 sollte für Anwendungen verwendet werden, die keine Plug-Ins hosten. Verwenden Sie MANIFEST_RESOURCE_ID 1, wenn alle Teile der Anwendung die im Manifest angegebene Parallelassembly verwenden sollen. Weitere Informationen finden Sie unter Aktivieren einer Assembly in einer Anwendung ohne Erweiterungen.

MANIFEST_RESOURCE_ID 2 sollte für Anwendungen verwendet werden, die Steuerelemente oder Plug-Ins von Drittanbietern hosten. In diesem Fall wirkt sich das Manifest auf alle parallel geladenen Assemblys durch statisches Laden, Aufrufe von DllMain und Aufrufe aus, die von -DISOLATION_AWARE_ENABLED umgeleitet werden. Weitere Informationen finden Sie unter Aktivieren einer Assembly in einer Anwendung, die eine DLL, Erweiterung oder Systemsteuerung hosten.

MANIFEST_RESOURCE_ID 3 sollte nur für die Umleitung von Aufrufen mit -DISOLATION_AWARE_ENABLED verwendet werden. Das Laden durch andere Methoden ist nicht betroffen.