什么是“可验证的管理组件”

时间:2010-12-26 10:17:59

标签: .net windows-phone-7 c++-cli

在检查使用C ++开发Windows Phone 7的可能性时,我遇到this thread,其中指出:

  

“......任何可以编译成a的语言   可验证的管理组件(   可验证性要求适用于   所有的依赖关系,也是好的“(对于   WP7开发)

什么是“可验证的托管程序集”,我在哪里可以了解更多信息?

1 个答案:

答案 0 :(得分:7)

可验证代码是编译到IL的代码,可以证明不会生成任何可以执行不安全代码的IL,绕过代码访问安全检查或以任何方式破坏CLR的状态。但确切的规则很复杂。一万英尺的视图是用VB.NET或C#等托管语言编写的代码,没有unsafe关键字。不过,您可以在不使用unsafe关键字的情况下在C#中编写无法验证的代码。例如,请检查this answer

有一个用于检查装配的专用工具PEVerify.exe。它执行JIT编译器和CLR执行的相同检查。链接页面的底部包含有关验证的MSDN文章的链接。