我开发了一个在本地运行良好的 C# 应用程序。
但是当我放在服务器上时出现问题。
该应用程序在他的引用中使用了一个 DLL 库 (A.dll),并且在执行时 A.dll 在 Temp 目录中创建了另一个 DLL(嵌入其中,我们称之为 B.dll)。但是当 A.dll 尝试加载 B.dll 时会抛出异常:
system.invalidoperationexception: failed to load B.dll
我无法访问 DLL 源,是库。
回顾一下:
- 该进程对文件和路径具有完全控制权限。(检查)
- 像管理员一样运行。(选中)
- 在我的应用程序中,如果我尝试以二进制模式打开 dll,则操作没有问题。
- 在我测试过的每个操作系统(Windows 8_64 / XP_32 / 2008_32 / 7_64)上运行良好,但在 2008 R2 64 上运行失败。
- 我尝试重新下载、重命名、重新安装 B.DLL,我已将程序放在 B.DLL 的同一路径等,但没有结果。
所以在这一点上,我认为这是服务器上的一个安全问题,比如“进程无法加载 DLL”或类似的东西。
例外: http: //i.imgur.com/NmB2Fth.png ?1
任何人都可以建议我任何解决方案?我会检查更好吗?在哪里?
PS 如果我尝试注册 dll,我得到了同样的错误: Register DLL file on Windows Server 2008 R2