/CLRUNMANAGEDCODECHECK (加入 SupressUnmanagedCodeSecurityAttribute)
/CLRUNMANAGEDCODECHECK 會指定連結器是否將 SuppressUnmanagedCodeSecurityAttribute 套用至從 Managed 程式碼對原生 DLL 之連結器所產生的 PInvoke 呼叫。
/CLRUNMANAGEDCODECHECK[:NO]
備註
根據預設,連結器會將 SuppressUnmanagedCodeSecurityAttribute 套用至連結器產生的 PInvoke 呼叫。 當 /CLRUNMANAGEDCODECHECK 為作用中時,則不會套用 SuppressUnmanagedCodeSecurityAttribute。
連結器只將屬性加入至使用 /clr 或 /clr:pure 編譯的物件中。 連結器不會在使用 /clr:safe 編譯的物件中產生 PInvoke 呼叫。 如需詳細資訊,請參閱 /clr (Common Language Runtime 編譯)。
連結器找不到 Managed 符號,以滿足來自 Managed 呼叫端的參考,但找得到原生符號,以滿足該參考時,就會由連結器產生 PInvoke 呼叫。 如需 PInvoke 的詳細資訊,請參閱 從 Managed 程式碼呼叫原生函式。
請注意,如果您是在程式碼中使用 AllowPartiallyTrustedCallersAttribute,應該明確地設定 /CLRUNMANAGEDCODECHECK。 如果影像中同時包含 SuppressUnmanagedCodeSecurity 和 AllowPartiallyTrustedCallers 兩個屬性,可能會成為潛在的安全性漏洞。
如需關於使用 SuppressUnmanagedCodeSecurityAttribute 之隱含意義的詳細資訊,請參閱安全性最佳化。
若要在 Visual Studio 開發環境中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁。
展開 [組態屬性] 節點。
展開 [連結器] 節點。
請選取 [進階] 屬性頁。
修改 [CLR Unmanaged 程式碼檢查] 屬性。