这可能是一个显而易见的问题,但是我在哪里将.NET包装类SoundTouchNet的dll用于C#项目?我将.dll复制到Windows / Microsoft.NET / assembly / GAC_MSIL中,但是当我输入“使用SoundTouchNet”时,编译器找不到它。这是网站:http://code.google.com/p/soundtouchnet/
我下载了C ++ SoundTouch库的dll,并将.lib放在VC / lib中,.h放在VC / include中,将.dll放在System32中。这也是对的吗?
谢谢!
编辑:有没有人知道如何将SoundTouchNet库与C ++ SoundTouch连接?如上所述,我现在已成功将SoundTouchNet引用添加到项目中。怎么办?我是否需要对SoundTouch库执行任何操作,还是独立于此?非常感谢您的所有回复!
答案 0 :(得分:5)
我认为您错过了将该DLL的引用添加到项目中。添加对项目的引用
Project> Reference > Add Reference > Browse > Select the DLL
了解更多信息see this link
答案 1 :(得分:2)
尝试添加对dll文件的引用。
using Sound...
只是不需要每次都写SoundTouchNet.RandomFunction()
。
答案 2 :(得分:2)
理解程序集引用和using
指令之间的区别非常重要。 using
指令,例如
using SoundTouchNet;
只需导入名称空间以便在该源文件中使用。这意味着如果你有一个名为SoundTouchNet.Foo
的类,你可以在代码的其他地方写Foo
。
尽管程序集通常在名称空间中包含与程序集名称匹配的类型(例如Foo.Bar.dll
通常包含Foo.Bar
名称空间中的类型),但这是只是约定 - 这两个各种名字完全是分开的。
要使该类型首先可用,您需要将引用添加到包含它的程序集中。假设您正在使用Visual Studio,请转到解决方案资源管理器,右键单击References文件夹类似的图标,然后选择“添加引用”。我个人通常会避免GAC,只是添加对同一解决方案中的其他项目或特定文件的引用(我通常将其放在lib
目录中以获得理智)。您还应该考虑使用NuGet进行包管理 - 许多开源库现在都可以作为NuGet包使用。
答案 3 :(得分:0)
您需要在全局程序集缓存中注册外部dll,
gacutil.exe /i [Assembly]
调用非常简单,这里是引用http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx
答案 4 :(得分:0)