/CLRUNMANAGEDCODECHECK (Hinzufügen von SuppressUnmanagedCodeSecurity-Attribut)
Aktualisiert: November 2007
/CLRUNMANAGEDCODECHECK gibt an, ob vom Linker SuppressUnmanagedCodeSecurityAttribute auf Linker-generierte PInvoke-Aufrufe von verwaltetem Code in systemeigene DLLs angewendet werden soll.
/CLRUNMANAGEDCODECHECK[:NO]
Hinweise
Standardmäßig übernimmt der Linker den SuppressUnmanagedCodeSecurityAttribute für Linker-generierte PInvoke-Aufrufe. Wenn /CLRUNMANAGEDCODECHECK gültig ist, wird SuppressUnmanagedCodeSecurityAttribute nicht übernommen.
Das Attribut wird vom Linker nur Objekten hinzugefügt, die mit /clr oder /clr:pure kompiliert werden. Vom Linker werden keine PInvoke-Aufrufe in Objekten erzeugt, die mit /clr:safe kompiliert werden. Weitere Informationen finden Sie unter /clr (Common Language Runtime-Kompilierung).
Ein PInvoke-Aufruf wird erzeugt, wenn vom Linker kein verwaltetes, jedoch ein systemeigenes Symbol gefunden wird, das einem Verweis in einer aufrufenden verwalteten Funktion entspricht. Weitere Informationen über PInvoke finden Sie unter Aufrufen systemeigener Funktionen aus verwaltetem Code.
Beachten Sie, dass bei Verwendung von AllowPartiallyTrustedCallersAttribute im Code /CLRUNMANAGEDCODECHECK explizit festgelegt werden sollte. Wenn ein Bild sowohl das SuppressUnmanagedCodeSecurity-Attribut als auch das AllowPartiallyTrustedCallers-Attribut enthält, stellt dies unter Umständen ein Sicherheitsrisiko dar.
Weitere Informationen über die Auswirkungen des SuppressUnmanagedCodeSecurity-Attributs finden Sie unter Sicherheitsoptimierungen.
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Erweitern Sie den Knoten Konfigurationseigenschaften.
Erweitern Sie den Knoten Linker.
Wählen Sie die Eigenschaftenseite Erweitert aus.
Ändern Sie die Eigenschaft Nicht verwalteten CLR-Code überprüfen.
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe CLRUnmanagedCodeCheck.