gpt4 book ai didi

C# DLL 运行时错误 - 构建、运行,但在尝试使用 DLL 函数时抛出未处理的异常

转载 作者:太空狗 更新时间:2023-10-29 21:46:31 31 4
gpt4 key购买 nike

我正在尝试编译显示的示例项目 here对于 C#。它必须转换为 VS2010,但效果很好。它构建、运行,但随后在尝试访问 DLL 函数时终止。

我制作了一系列images显示我的步骤。如您所见,我设计的设备已连接并正确配置,但我真的不认为这与问题有任何关系。在 Form1.cs 文件中,以下注释解释了如何使用 DLL:

/*
PLEASE NOTE
You must add a reference to the FTChipIDNet.dll in order to use this sample
To do this:
1. Click on Solution explorer tab.
2. Right click the References tree.
3. Choose Add Reference option.
4. Browse to the FTChipIDNet.dll (as a personal preference I place this in my bin directory)
5. Click OK
*/

我按照上面显示的说明操作,修复了对命名空间 FTChipID 的 undefined reference 。我还手动检查了对象浏览器以确保 GetNumDevices 函数存在并且确实存在。

单击按钮会产生此错误:

DLLNotFoundException was unhandled:

Unable to load DLL 'FTChipID.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

在这行代码:

FTChipID.ChipID.GetNumDevices(ref numDevices);

现在,您可能会想“错误表明它需要 FTChipID.dll,而不是 FTChipIDNet.dll”。我也在想同样的事情。我有 FTChipID.dll 以及一个 .lib 和 .h 文件,但我不知道如何使用它们或它们需要放在什么地方才能让该程序找到它们。我尝试添加对 FTChipID.dll 的引用,但 VS2010 说

A reference to ...\FTChipID.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

我也不知道是什么意思。有任何想法吗?提前致谢。

最佳答案

FTChipIDNet.dll 是 FTChipID.dll 的包装器,因此您需要添加对解决方案的引用(如上所示),然后将 FTChipID.dll 复制到 FTChipIDNet.dll 所在的 bin 文件夹中。

这两个 dll 都应该位于您的解决方案的 bin 文件夹中才能运行,不应位于 windows\system32 中。

关于C# DLL 运行时错误 - 构建、运行,但在尝试使用 DLL 函数时抛出未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647930/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com