我正在使用 ILDASM 实用程序来反汇编程序集(我们自己的)。
(我们使用它来比较不同的构建输出,方法是在运行哈希计算来比较内容之前,从反汇编的文件中剥离唯一的内容)。
一些程序集的大小高达 5,900KB,这会导致系统内存不足异常 - 这是在 ILDASM 工具处理程序集时。
您可以拆卸的组件尺寸是否有限制?
更新:我没有按原样使用该工具,而是将其作为代码中的过程启动(作为自定义工具的一部分):
其中 assemblyFilePath 是 >5MB 程序集的路径:
var startInfo = new ProcessStartInfo(ILDasmFileLocation, string.Format("/all /text \"{0}\"", assemblyFilePath))
{
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
UseShellExecute = false,
RedirectStandardOutput = true
};
using (var process = Process.Start(startInfo))
{
string output = process.StandardOutput.ReadToEnd();
// Use the disassembled output
}