向VB.NET项目添加DLL引用

5

首先,这个问题似乎与另一篇帖子非常相似,Add the DLL (lame_enc.dll) reference to my project,但我并没有成功地应用那个答案。我对VB.NET还比较新,所以很可能是我漏掉了一些显而易见的东西。

我正在尝试将一个DLL链接到VB.NET 2010项目中,以便让我的VB应用程序播放*.ogg文件。我在论坛上关注了其他一些建议,下载了FMOD's FMOD Ex Programmers API。现在我正在尝试引用该功能。这些似乎是我需要引用的文件。

C:\Program Files (x86)\FMOD SoundSystem\FMOD Programmers API Windows\api\fmodex64.dll.
C:\Program Files (x86)\FMOD SoundSystem\FMOD Programmers API Windows\api\libfmodex64_vc.lib.

我还没有发现如何添加*.lib引用(或其等效物),但选择DLL作为引用会出现以下错误。

无法添加对'C:\Program Files (x86)\FMOD SoundSystem\FMOD Programmers API Windows\api\fmodex64.dll'的引用。请确保该文件可访问, 并且是有效的程序集或COM组件。

我不确定我可能错过了什么。有什么想法吗?谢谢!


你的系统是x86还是x64?看起来你安装在Program Files(x86)中,但是使用了libfmodex64_vc.lib库文件(我不确定x64是否代表版本号?)。如果是这种情况,可能需要将正确的版本安装到正确的位置才能解决问题。 - Minus
我正在运行 Windows 7 64 位操作系统。该位置是 FMOD 安装程序 fmodapi44200win-installer.exe 提供的默认安装路径。我猜测该安装程序是一个 32 位可执行文件,因此 Windows 默认选择了 x86 文件夹。我已将 DLL 文件移动到应用程序文件夹中,但没有任何改变。 - user1555362
你的项目设置为x86或x64编译了吗?您可以通过打开VS 2010,然后转到项目->属性,然后单击编译选项卡来检查此内容,在底部应该有一个标记为“高级编译选项...”的按钮,单击它以打开新屏幕。在那里,如果“目标CPU”设置为x86或AnyCPU,则可能希望将其设置为x64,然后再尝试添加引用。如果无法设置为x64,则可能需要下载32位版本的dll并使用该版本。 - Mike_OBrien
我尝试更改编译目标,但没有效果。我在一台安装有VS 2008的WindowsXP 32位机器上尝试了全新的WPF项目,并尝试添加对c:\windows\system32\user32.dll的引用。这应该可以工作吗?如果您尝试它,它是否有效? - user1555362
我没有尝试过这个特定的DLL,但是这个解决方案在过去对我有效。如果您将DLL移动到Windows目录中的SysWOW64文件夹并尝试在该位置添加引用,是否会有任何变化? - Mike_OBrien
我尝试的另一种方法现在可行了。我找到了一个带有LibZPlay VB.NET示例的工作站点(http://planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=7789&lngWId=10)。它在VS 2008下运行,我能够使我的项目适用于在VS 2008下使用LibZPlay(开源库http://libzplay.sourceforge.net/WELCOME.html)。对我来说,这已经足够了。感谢您的建议。这可能是我的配置问题。 - user1555362
3个回答

9
在解决方案资源管理器中,双击项目的"My Project"节点。
在项目设计器中,点击"References"标签。
点击"Add"按钮打开"Add Reference"对话框。
在"Add Reference"对话框中,选择要引用的组件类型所在的选项卡。
选择您想要引用的组件,然后点击"OK"。

1

0
使用VB.net 2015时,我无法在解决方案资源管理器的“引用”选项卡中添加或找到System32 dll。然后我尝试了主菜单中的“项目/添加引用...”,并使用浏览功能,所有的System32 dll都可以看到。这样我就能够加载所需的dll了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接