无法将DLL引用添加到VS 2008

时间:2009-09-04 03:09:25

标签: .net vb.net visual-studio-2008 dll interop

我想知道是否有人可以帮助我。

我正在尝试在我的VB.Net(3.5)应用程序中添加对LAME MP3编码器的引用。

我正在使用的DLL(lame_enc.dll v3.98.2)是从这里下载的:http://rarewares.org/mp3-lame-bundle.php

当我尝试将DLL引用添加到我的项目时,出现错误: “无法添加对C:\\ Lame_Enc.dll的引用。请确保此文件可访问且它是有效的程序集或COM组件”

我只是假设这是一个腐败的下载/类似但是......

  • 存档在WinRAR中通过了完整性测试
  • 我尝试重新下载JIC

接下来的想法 - 这个DLL是b0rked但是......

  • 我用Google搜索并发现这是vs2005中的常见问题。
  • 有很多讨论,似乎没有一个有用的结论
  • 我尝试过SDK工具“genasm”(3.5)和“TlbExp”(2.0),并且都说它不是一个有效的DLL(正如各种线程中所建议的那样)。

所以...我得出的结论是,它不是COM DLL或(显然)是.Net的。它可能完好无损但我不能直接用VS引用它。

以前当我添加了非.Net DLL时,VS已经为我创建了一个INTEROP类。理想情况下,我希望与此DLL类似。

不幸的是,这是关于我的能力范围 - 有人可以指出我正确的方向如何使用这个DLL(或其他机制与LAME交互)?

非常感谢您的任何帮助

3 个答案:

答案 0 :(得分:3)

本文使用不同的方法在围绕lame.exe的VB.NET中构建包装器。

看看:

http://www.codeproject.com/KB/audio-video/LameShell.aspx?print=true

答案 1 :(得分:3)

听起来它不是.Net DLL。你可能需要获得一个包装器(Jayden的答案似乎是一个包装器)。

顺便说一句,你可能想要获得LAME direct from the source

答案 2 :(得分:1)

这个项目(在C#albiet但同样的原则必须适用于VB.NET)是指使用Lame_enc.dll。您可以尝试下载示例项目,看看他们与您相比做了什么:

http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx