【问题标题】:What is "verifiable managed assembly"什么是“可验证的托管程序集”
【发布时间】:2011-05-30 19:51:50
【问题描述】:

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

"...任何可以编译为 可验证的托管程序集( 可验证性要求适用于 所有依赖项也是如此!)很好”(对于 WP7 开发)

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

【问题讨论】:

  • Windows Phone 7 不能使用纯 C++,仅支持 VB.Net 和 C#。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多