/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 開發環境中設定這個連結器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 HOW TO:開啟專案屬性頁

  2. 展開 [組態屬性] 節點。

  3. 展開 [連結器] 節點。

  4. 請選取 [進階] 屬性頁。

  5. 修改 [CLR Unmanaged 程式碼檢查] 屬性。

若要以程式設計方式設定這個連結器選項

請參閱

參考

設定連結器選項

連結器選項