使用C#包装类

时间:2012-12-05 07:07:28

标签: c# .net dll

这可能是一个显而易见的问题,但是我在哪里将.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库执行任何操作,还是独立于此?非常感谢您的所有回复!

5 个答案:

答案 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)

如果您使用的是Visual Studio:

在MSDN中检查“如何:在Visual Studio中添加和删除引用(C#)”:

MSDN - Adding / Removing references