【问题标题】:Determine if Assembly References Certain Classes确定程序集是否引用某些类
【发布时间】:2014-10-26 20:18:25
【问题描述】:

我正在尝试编写一个函数来确定程序集是否包含任何使用已知引用的代码。例如,确定给定程序集是否使用Thread 类(作为方法、参数等的一部分)。

我正在编写一个使用第三方程序集的程序。我已经在沙箱中运行程序集,但这并不能阻止代码执行其他操作,例如启动线程(我的要求之一不允许这样做)。我的想法是在程序集加载到沙箱后对其进行扫描,并确定是否曾经使用过 Thread 类。

我已经使用 IL 进行了一些初步的research 来确定这一点,但我想知道是否有比重建GetMethodBody 的结果更简单的方法。

【问题讨论】:

标签: c# .net il


【解决方案1】:

试试Mono.Cecil。您可以在字节码级别检查代码所做的一切。

【讨论】: