【发布时间】:2010-12-25 00:40:08
【问题描述】:
我最近从 Vista/32 升级到 Win7/64。在我的旧机器上,一切正常。
不幸的是,在我的新机器上,NUnit 不会加载我的单元测试,并显示错误消息 “System.IO.FileNotFoundException: 无法加载文件或程序集 'UnitTest' 或其依赖项之一。系统无法找到指定的文件”。 (实际上,我必须检查我所有的解决方案项目并将它们设置为 32 位才能做到这一点。)
所以我加载了 Dependency Walker,它告诉我我缺少 IESHIMS.DLL。我在我的机器上找到了两个,所以我从 Internet Explorer 目录中复制了 32 位版本,DW 不再抱怨该文件。
但是,它也缺少 GPSVC.DLL。我在 C:\Windows\System32 中只找到了一个副本,但是当我将它复制到我的单元测试目录时,DW 抱怨它是 64 位的,并且 NUnit 仍然无法运行。它现在还将 SYSNTFY.DLL 添加到缺失列表中。我只有其中一个,而且也是 64 位的。 NUnit 还是报错。
那么我应该放弃这个 64 位操作系统并回到旧的 32 位,还是我遗漏了一些明显的东西?
【问题讨论】:
-
gpsvc.dll 似乎只有 64 位。但是,它是延迟加载的,因此这里不应该成为问题,因为只有在实际使用时才会加载它。我不知道你的情况出了什么问题,但关注 gpsvc.dll 似乎是一个红鲱鱼。
-
我希望是这样,但是 NUnit 仍然拒绝加载我的单元测试。顺便说一句,DW 还显示了 IEFRAME.DLL 和 SHLWAPI.DLL 的标志,但这些也是延迟加载的。
标签: .net dll dependencies 32bit-64bit x86-64