/CLRUNMANAGEDCODECHECK (Usuń SuppressUnmanagedCodeSecurityAttribute)

/CLRUNMANAGEDCODECHECK Określa, że konsolidator nie ma zastosowania SuppressUnmanagedCodeSecurityAttribute do wywołań generowanych przez konsolidator PInvoke z kodu zarządzanego do natywnych bibliotek DLL.

Składnia

/CLRUNMANAGEDCODECHECK
/CLRUNMANAGEDCODECHECK:NO

Uwagi

Domyślnie konsolidator stosuje SuppressUnmanagedCodeSecurityAttribute atrybut do wywołań generowanych przez konsolidator PInvoke . Gdy /CLRUNMANAGEDCODECHECK jest w mocy, SuppressUnmanagedCodeSecurityAttribute jest usuwany. Aby jawnie zastosować SuppressUnmanagedCodeSecurityAttribute atrybut do wywołań generowanych przez konsolidatora PInvoke , możesz użyć polecenia /CLRUNMANAGEDCODECHECK:NO.

Konsolidator dodaje atrybut tylko do obiektów skompilowanych przy użyciu polecenia /clr lub /clr:pure. Jednak opcja kompilatora /clr:pure jest przestarzała w programie Visual Studio 2015 i nieobsługiwana w programie Visual Studio 2017 lub nowszym.

Wywołanie PInvoke jest generowane przez konsolidator, gdy konsolidator nie może odnaleźć zarządzanego symbolu spełniającego odwołanie z zarządzanego obiektu wywołującego, ale może znaleźć symbol macierzysty spełniający to odwołanie. Aby uzyskać więcej informacji na temat PInvokeprogramu , zobacz Wywoływanie funkcji natywnych z kodu zarządzanego.

Jeśli używasz AllowPartiallyTrustedCallersAttribute w kodzie, należy jawnie ustawić, /CLRUNMANAGEDCODECHECK aby usunąć SuppressUnmanagedCodeSecurity atrybut. Jest to potencjalna luka w zabezpieczeniach, jeśli obraz zawiera zarówno atrybuty , jak SuppressUnmanagedCodeSecurity i AllowPartiallyTrustedCallers .

Aby uzyskać więcej informacji na temat implikacji używania programu SuppressUnmanagedCodeSecurityAttribute, zobacz Secure Coding Guidelines for Unmanaged Code (Wytyczne dotyczące bezpiecznego kodowania dla kodu niezarządzanego).

Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości dla projektu. Aby uzyskać więcej informacji, zobacz Ustawianie właściwości kompilatora i kompilacji.

  2. Wybierz stronę właściwości Zaawansowane konsolidatora> właściwości>konfiguracji.

  3. Zmodyfikuj właściwość Sprawdzania kodu niezarządzanego CLR.

Aby programowo ustawić tę opcję konsolidatora

  1. Zobacz: CLRUnmanagedCodeCheck.

Zobacz też

Dokumentacja konsolidatora MSVC
Opcje konsolidatora MSVC