很抱歉,如果这是一个显而易见的问题,但我是C#的新手,我正在尝试使用2个dll进行项目。我把它放在哪里?
我尝试在一个空的C#项目中添加SoundTouch.dll作为引用,但Visual Studio说要确保该文件是可访问的,并且它是一个有效的程序集或COM组件。我被建议将dll放入\ bin \ debug路径,但那是哪里?谢谢你的帮助。
答案 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下构建,则将在项目文件夹
下创建一个文件夹仓\调试
用于调试版本或发布版本
仓\释放