/CLRIMAGETYPE (Określenie typu obrazu CLR)
/CLRIMAGETYPE:{IJW|PURE|SAFE|SAFE32BITPREFERRED}
Uwagi
Program łączący akceptuje obiekty rodzime i również instrukcje obiektów MSIL, które są kompilowane za pomocą /CLR, / CLR: czysty, lub /clr:safe.Przekazano mieszane obiekty w samej kompilacji, możliwość weryfikacji wynikowej pliku wyjściowego jest domyślnie równa najniższemu poziomowi możliwości weryfikacji modułów wejściowych.Na przykład, jeśli przepuścisz bezpieczny i czysty moduł konsolidatora, plik wyjściowy będzie czysty.Jeśli przesuwasz obraz macierzysty i obraz w trybie mieszanym (skompilowany przy użyciu /clr), obraz wynikowy będzie obrazem w trybie mieszanym.
Można użyć /CLRIMAGETYPE do określenia niższego poziomu możliwość weryfikacji, jeśli jest to potrzebne.
W .NET 4.5 /CLRIMAGETYPE obsługuje opcję SAFE32BITPREFERRED.Spowoduje to ustawienie — nagłówek PE obrazu — flagi wskazujące, że obiekty MSIL są bezpieczne i mogą być uruchomić na wszystkich platformach, ale preferowane są środowiska wykonawcze 32-bitowe.Ta opcja włącza aplikację do uruchamiania na platformach ARM i określa również, że powinna działać w emulatorze WOW64 na 64-bitowych systemach operacyjnych zamiast przy użyciu 64-bitowego środowiska wykonawczego.
Gdy .exe , który był skompilowany za pomocą /clr lub /clr:pure jest uruchamiane w 64-bitowym systemie operacyjnym, aplikacja jest uruchamiana WOW64, który umożliwia aplikacji 32-bitowej uruchomienie w 64-bitowym systemie operacyjnym.Domyślnie, plik .exe kompilowanym za pomocą /clr:safe jest uruchamiany w usłudze 64-bitowego systemu operacyjnego.Jednak jest możliwe, aby bezpieczna aplikacja ładowała składnik 32-bitowy.W takim przypadku, uruchomienie pliku „safe imane” w ramach wsparcia 64-bitowego system operacyjnego zakończy się niepowodzeniem podczas ładowania aplikacji 32-bitowej.W celu zapewnienia, że bezpieczny obrazu będzie kontynuował działanie podczas ładowania składnika 32-bitowego w 64-bitowym systemie operacyjnym, użyj opcji /CLRIMAGETYPE:SAFE32BITPREFERRED.Jeśli kod nie musi działać na platformach ARM, można określić opcję /CLRIMAGETYPE:PURE, aby zmienić metadane (.corflags), oznaczając jego uruchomienie w emulatorze WOW64 (i podstawiając własny symbol wejścia):
cl /clr:safe t.cpp /link /clrimagetype:pure /entry:?main@@$$HYMHXZ /subsystem:console
Aby uzyskać informacje na temat sposobu określania typu obrazu CLR, zobacz /CLRHEADER.
Aby ustawić opcję konsolidatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu.Szczegółowe informacje – zobacz: Porady: otwieranie stron właściwości projektów.
Rozwiń węzeł Właściwości konfiguracji.
Rozwiń węzeł Konsolidator.
Wybierz stronę właściwości Zaawansowane.
Modyfikuj właściwość Typ obrazu CLR.
Aby programowo ustawić opcję konsolidatora
- Zobacz CLRImageType.