Verwenden von Side-by-Side-Assemblys als Ressource

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

Wenn Sie den MANIFEST_RESOURCE_ID auf 1 festlegen, verwendet der Loader die querseitigen Assemblyabhängigkeiten, die im Manifest als Prozessstandard angegeben sind. Alle Plug-Ins verwenden diesen Prozessstandard ebenfalls.

In der folgenden Tabelle wird zusammengefasst, wie der Loader 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-16 für die Verwendung von Windows XP reserviert sind. Ein Entwickler kann andere Werte verwenden, wenn sie die Aktivierungskontexte mithilfe der in der Aktivierungskontextreferenz beschriebenen Funktionen verwalten möchten.

Wert von MANIFEST_RESOURCE_ID Manifest gibt den Prozessstandard an? Verwenden Sie für statische Importe? Verwenden Sie eine EXE? Verwenden Sie eine DLL? Verwendet Side-by-Side-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 In-Side-Assembly verwenden sollten, die im Manifest angegeben ist. 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 querseitigen Assemblys aus, die durch statisches Laden, Aufrufe an DllMain geladen und 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 zum Umleiten von Anrufen nach -DISOLATION_AWARE_ENABLED verwendet werden. Das Laden durch andere Methoden ist unberührt.