2

我有一个 .NET C# 控制台应用程序,它在运行时加载了几个 Win32 DLL-s。当这个应用程序在我的开发人员机器上运行时(我的笔记本电脑上是 32 位 Win7,我的台式机上是 64 位 Win7),有时它会导致 998 错误。重新启动开发人员机器后,此问题消失。这发生在测试服务器(Linux 上的虚拟机,Win Server 2008 R2)上,但重新启动后它也消失了。由于这个原因,不容易复制。

很难理解原因,当我的DLL-s加载dependecy walker时,它显示它们绝对没有问题,两个依赖是Kernel32.DLL和MSVCRT.DLL。今天这个错误发生在从命令行启动我的应用程序。我将应用程序加载到 VS2010 中,然后启动,加载相同的 dll-s 没有任何问题。停止它,我再次从命令行启动了我的应用程序,它也加载了 DLL-s。

这些 DLL-s 不是我开发的,而是第三家公司开发的,所以我看不到 DLL-s 的源代码。知道发生了什么吗?

4

1 回答 1

0

将您的dll设置在您的应用程序所在的同一文件夹中。您的应用程序必须以管理员访问权限运行。只需以管理员身份运行 VS 或以管理员身份运行 cmd,然后将 cmd 路径更改为您的应用程序位置,如本例

c:\cd /d your_application_path

然后在命令提示符中写入您的应用程序的名称。那么您的应用程序可以拥有管理员令牌来成功执行工作。

于 2013-10-17T16:10:55.390 回答