/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 PInvoke
programu , 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
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.
Wybierz stronę właściwości Zaawansowane konsolidatora> właściwości>konfiguracji.
Zmodyfikuj właściwość Sprawdzania kodu niezarządzanego CLR.
Aby programowo ustawić tę opcję konsolidatora
- Zobacz: CLRUnmanagedCodeCheck.