我有一个大的Web应用程序,它应该在64位进程中运行。但是,当我在App Pool上将“启用32位应用程序”设置为False时,出现以下错误,试图在IE中运行应用程序:如何使用进程监视器来确定哪个DLL导致BadImageFormatException
不是有效的Win32应用程序。 (来自HRESULT的异常:0x800700C1)
错误消息开头的应用程序名称缺失,即我在复制和粘贴过程中没有丢失它。
我被建议使用进程监视器来确定哪个应用程序/ DLL负载实际上导致错误,但我不知道从哪里开始。有人可以请指教吗?
编辑:我已经尝试过滤进程监视器上只有w3wp.exe和只有文件系统和进程事件,但只是试图导航到根URL产生34,012事件。
这是一个很好的策略,但这个解决方案是一个非常复杂的依赖关系。它包含320个项目,其中20个是引用其余项目的Web项目,并被1个核心Web项目引用。星期天需要一年时间才能应用您的策略。 – ProfK 2011-03-09 16:54:09
@ProfK,无论有多少dll,都可以使用'Directory.GetFiles'递归查找项目层次结构中的所有dll,并逐个加载它们。你不需要你的控制台来实际引用它们,用反射来加载它们。 – 2011-03-10 13:55:31
我想我会实际做到这一点,当我可以再次重现这种情况。 – ProfK 2011-03-11 10:52:06