可能重複:
Is there an API for verifying the MSIL of a dynamic assembly at runtime?PE驗證碼?
我動態地生成使用Reflection.Emit
等的組件。
對於單元測試,我想驗證我的IL。
我可以從命令行執行它,但我寧願在代碼中執行此操作。
有沒有辦法做到這一點比調用PEVerify.exe更方便?理想情況下,我希望直接將它交給動態程序集,而不必先將程序集保存到磁盤。
理想我正在尋找沿(僞碼線的東西:
Assert.IsFalse(new PEVerifier(myAssembly).Verify().Errors.Any());
嗯,做一些挖掘。看起來真正的工作是通過框架目錄中peverify.dll中的'VerifyMethod'導出完成的。我的一般感覺是,你將不得不在另一個AppDomain中這樣做。 PE驗證會加載程序集及其所有依賴項。命令行可能只是一個更好的選擇。 – vcsjones
@MauricioScheffer同意它可能是重複的。我搜索了標有'[peverify]'的問題,並且因爲沒有標記而錯過了它。 –