在32位系统上进行开发和部署成功,但在运行Windows Server 64位的生产系统上出现了多个错误:
异常System.DllNotFoundException:无法加载DLL 'ABCpdf9-32.dll'。找不到指定的模块(来自HRESULT的异常:0x8007007E)
在32位系统上进行开发和部署成功,但在运行Windows Server 64位的生产系统上出现了多个错误:
异常System.DllNotFoundException:无法加载DLL 'ABCpdf9-32.dll'。找不到指定的模块(来自HRESULT的异常:0x8007007E)
只有在所有开发者和服务器机器上安装供应商提供的软件后,该问题才能得到解决。
所以我也遇到了同样的错误。我正在使用win64。
这些是我采取的步骤来克服我的问题。希望能有所帮助 :-)
ABCpdf是一个具有非托管代码的COM dll,对吧?在这种情况下,它无法在64位平台上运行。下面给出的文章解释了这一点(请检查其最后几位)
此外,我还会确保ABCpdf dll不依赖于任何其他32位dll。您可以使用Dependency Walker进行测试(http://www.dependencywalker.com/)。除非你真的需要你的应用程序是64位的(我怀疑 - 即使VS团队也选择了反对),否则我建议你只构建和部署32位应用程序。很少有好理由去使用64位,而且它会使第三方驱动程序、COM对象等变得复杂。甚至可能无法找到所有这些的64位版本。
我通过在Bin文件夹中给予System账户完全访问权限来解决了这个问题。