什么是“可验证的托管程序集”?

4
在考虑使用C++开发Windows Phone 7时,我遇到了这个帖子,其中提到:

"...任何能够编译为可验证托管程序集(该可验证性要求也适用于所有依赖项!)的语言都可以用于WP7开发"

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

你不能在Windows Phone 7上使用纯C++,只支持VB.Net和C#。 - Lukasz Madon
1个回答

11

可验证代码是指编译成中间语言(IL)的代码,可以证明它不会产生任何可以执行不安全代码、绕过代码访问安全检查或以任何方式破坏CLR状态的IL。确切的规则非常复杂。从一万英尺的高度来看,代码是用像VB.NET或C#这样的托管语言编写的,而且没有使用unsafe关键字。然而,在C#中可以编写不可验证的代码,而不使用unsafe关键字。例如,请参阅此答案

有一个专门的工具可用于检查程序集,PEVerify.exe。它执行与JIT编译器和CLR执行的相同的检查。链接页面底部有关于验证的MSDN文章的链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接