1

这可能是一个显而易见的问题,但是我应该将 .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 库做任何事情,还是独立于它?非常感谢您的所有回复!

4

5 回答 5

5

我认为您错过了将该 DLL 的引用添加到项目中。添加对您的项目的引用

Project>  Reference > Add Reference > Browse > Select the DLL

有关更多信息,请参阅此链接

于 2012-12-05T07:11:28.997 回答
2

using了解程序集引用和指令之间的区别很重要。using指令如

using SoundTouchNet;

只需导入名称空间以在该源文件中使用。这意味着如果你有一个名为 的类SoundTouchNet.Foo,你可以Foo在代码的其他地方编写。

尽管程序集通常在名称空间中包含与程序集名称匹配的类型(例如Foo.Bar.dll,通常会在Foo.Bar名称空间中包含类型),但这只是约定——这两种名称是完全分开的。

要首先使该类型可用,您需要添加对包含它的程序集的引用。假设您使用的是 Visual Studio,请转到解决方案资源管理器,右键单击类似“引用”文件夹的图标,然后选择“添加引用”。就我个人而言,我通常避免使用 GAC,只是添加对同一解决方案中的其他项目或特定文件的引用(我通常将其放在一个lib目录中以保持理智)。您还应该考虑使用NuGet进行包管理 - 许多开源库现在都以 NuGet 包的形式提供。

于 2012-12-05T07:13:13.543 回答
2

尝试添加对 dll 文件的引用。

using Sound...SoundTouchNet.RandomFunction()简单地消除了每次写入的需要。

于 2012-12-05T07:09:41.967 回答
0

您需要在全局程序集缓存中注册您的外部 dll,

 gacutil.exe /i [Assembly] 

调用很简单,这里是参考http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx

于 2012-12-05T07:11:49.050 回答
0

如果您使用的是 Visual Studio:

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

MSDN - 添加/删除引用

于 2012-12-05T07:13:39.990 回答