C#:动态 link 库 (DLL) 初始化例程失败
C#: A dynamic link library (DLL) initialization routine failed
我正在尝试复制其他使用 CyStat.dll 的应用程序的某些功能。这是应用程序本身
https://mega.nz/#!sIRggKST!UEeAWgcT9ONbyc0WgFagI-0G36zxvEK1dMwzw3NYd60
它基本上是特定打印机的状态监控工具
我的问题是:每次尝试使用 dll 时都会出现此错误:
'Unable to load DLL 'CyStat.dll': A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A)'
我知道这通常是因为缺少某些依赖项。以下是它使用的依赖项:
它们肯定存在于我的机器上,顺便说一下,我尝试复制的原始应用程序运行良好
这是我用来从 dll 中调用方法的代码:
[DllImport("CyStat.dll", CharSet = CharSet.Ansi, SetLastError = true)]
public static extern int CvInitialize([MarshalAs(UnmanagedType.LPWStr)] string pszPortName);
var res = CvInitialize("DS-RX1");
我也尝试反编译该应用程序并从那里复制粘贴代码,但它失败并出现相同的错误
在此先感谢您的帮助
所以,我遇到了那个伴随着 System.DllNotFoundException 的错误,我没有马上注意到
我的 dll 依赖于 kernel32.dll 和 winspool.drv。当我注意到这个异常时,我意识到我试图在我的 64 位系统上加载 32 位 dll。所以我刚刚尝试了 64 位版本并且它运行完美
我正在尝试复制其他使用 CyStat.dll 的应用程序的某些功能。这是应用程序本身
https://mega.nz/#!sIRggKST!UEeAWgcT9ONbyc0WgFagI-0G36zxvEK1dMwzw3NYd60
它基本上是特定打印机的状态监控工具
我的问题是:每次尝试使用 dll 时都会出现此错误:
'Unable to load DLL 'CyStat.dll': A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A)'
我知道这通常是因为缺少某些依赖项。以下是它使用的依赖项:
它们肯定存在于我的机器上,顺便说一下,我尝试复制的原始应用程序运行良好
这是我用来从 dll 中调用方法的代码:
[DllImport("CyStat.dll", CharSet = CharSet.Ansi, SetLastError = true)]
public static extern int CvInitialize([MarshalAs(UnmanagedType.LPWStr)] string pszPortName);
var res = CvInitialize("DS-RX1");
我也尝试反编译该应用程序并从那里复制粘贴代码,但它失败并出现相同的错误
在此先感谢您的帮助
所以,我遇到了那个伴随着 System.DllNotFoundException 的错误,我没有马上注意到 我的 dll 依赖于 kernel32.dll 和 winspool.drv。当我注意到这个异常时,我意识到我试图在我的 64 位系统上加载 32 位 dll。所以我刚刚尝试了 64 位版本并且它运行完美