如何将DLL文件放入.NET框架中

时间:2013-02-08 04:03:41

标签: c# .net dll

很抱歉,如果这是一个显而易见的问题,但我是C#的新手,我正在尝试使用2个dll进行项目。我把它放在哪里?

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

2 个答案:

答案 0 :(得分:0)

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

编辑:看看SoundTouch网站,有人已经为这个适合与C#一起使用的dll创建了一个包装器,可以找到它here

答案 1 :(得分: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下构建,则将在项目文件夹

下创建一个文件夹
  

仓\调试

用于调试版本或发布版本

  

仓\释放