0

抱歉,如果这是一个明显的问题,但我是 C# 新手,我正在尝试将 2 个 dll 用于项目。我把它们放在哪里?

我试图在一个空的 C# 项目中添加 SoundTouch.dll 作为引用,但 Visual Studio 说要确保该文件是可访问的并且它是一个有效的程序集或 COM 组件。有人建议我将 dll 放入 \bin\debug 路径,但那在哪里?谢谢你的帮助。

4

2 回答 2

0

每个项目都应该在它的项目目录下有它自己的\bin\debug(和\bin\release)目录结构,但是在你构建项目之前它们不会被创建。至于无效程序集,听起来您的 dll 已损坏或不是有效的 .NET 程序集。

编辑:查看 SoundTouch 网站,有人已经为这个适用于 C# 的 dll 创建了一个包装器,可以在这里找到

于 2013-02-08T04:06:42.563 回答
0

如果您的 DLL 是 .NET 或 COM DLL,您可以简单地在 Visual Studio 中添加一个引用。有关该程序的详细信息,请参阅

http://msdn.microsoft.com/en-us/library/wkze6zky(v=vs.110).aspx

如果 DLL 是 Win32 DLL(不公开 COM 接口),您可以通过 Platform Invoke (P/Invoke) 机制与其交互。

http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx

使用 P/Invoke 时,DLL 必须位于可由 .NET 运行时解析的位置,并且您使用 DllImport 属性将入口点从 DLL“拉”到您的 C# 代码中,例如

[DllImport("msvcrt.dll", EntryPoint="puts")]

.NET 将在 .exe 所在的同一目录中搜索 Win32 DLL。如果您在 Visual Studio 下构建,则会在您的项目文件夹下创建一个文件夹

斌\调试

用于调试版本或发布版本

垃圾箱\释放

于 2013-02-08T04:10:22.843 回答