当使用Reflection.Emit在运行时生成程序集时,我想在保存到磁盘之前验证程序集MSIL。与PEVerify类似,但在运行时。有没有这样的API?

最佳答案

似乎peverify.exe是c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ peverify.dll(或c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ peverify.dll的前端(适用于CLR 2.0),这是一个本机DLL(实际上,peverify.exe也是本机)

我在任何地方都没有看到此文档,因此它可能不是公共(public)API。您可以使用Dependency Walker之类的东西从该DLL中找出导出的函数,但我认为仅调用peverify.exe会更简单。

编辑:传闻:

  • 在编译器步骤Boo actually calls peverify.exe中。
  • Nemerle calls peverify.exe在其测试中。
  • Castle.DynamicProxy calls peverify.exe在其测试中。
  • 10-04 18:38