/CLRUNMANAGEDCODECHECK(添加 SupressUnmanagedCodeSecurityAttribute)

更新:2007 年 11 月

/CLRUNMANAGEDCODECHECK 指定链接器是否将 SuppressUnmanagedCodeSecurityAttribute 应用于链接器生成的从托管代码到本机 DLL 的 PInvoke 调用。

/CLRUNMANAGEDCODECHECK[:NO]

备注

默认情况下,链接器将 SuppressUnmanagedCodeSecurityAttribute 应用于链接器生成的 PInvoke 调用。当 /CLRUNMANAGEDCODECHECK 有效时,不应用 SuppressUnmanagedCodeSecurityAttribute。

链接器仅将属性添加到用 /clr/clr:pure 编译的对象。链接器不在用 /clr:safe 编译的对象中生成 PInvoke 调用。有关更多信息,请参见 /clr(公共语言运行库编译)

如果链接器找不到一个托管符号来满足托管调用方的引用,但可以找到一个本机符号来满足该引用时,该链接器将生成 PInvoke 调用。有关 PInvoke 的更多信息,请参见 从托管代码调用本机函数

注意:如果在代码中使用 AllowPartiallyTrustedCallersAttribute,应显式设置 /CLRUNMANAGEDCODECHECK。如果映像同时包含 SuppressUnmanagedCodeSecurity 和 AllowPartiallyTrustedCallers 属性,则是一个潜在的安全漏洞。

有关使用 SuppressUnmanagedCodeSecurityAttribute 的含义的更多信息,请参见安全优化

在 Visual Studio 开发环境中设置此链接器选项

  1. 打开此项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页

  2. 展开“配置属性”节点。

  3. 展开“链接器”节点。

  4. 选择“高级”属性页。

  5. 修改“CLR 非托管代码检查”属性。

以编程方式设置此链接器选项

请参见

参考

设置链接器选项

链接器选项