如何添加非托管dll以显示在Add Reference的COM选项卡中

时间:2011-06-03 22:40:21

标签: .net com reference phash

我目前正在http://phash.org

上使用pHash.dll

不幸的是,它是用C ++编写的,我必须使用DLLImport

但我遇到的问题是如何注册pHash.dll(通过VS2010 / C ++编译)
我试图使用regsrv32进行注册,并且没有结果,给出了错误消息。

enter image description here

现在,如何注册pHash以显示在COM标签中?enter image description here

1 个答案:

答案 0 :(得分:2)

有问题的DLL导出平面API。 “添加COM引用”选项卡适用于公开COM对象的DLL。您需要编写一个pinvoke声明,让.NET了解您的平面API,而不是使用Add Reference来引用DLL。

这是一篇有用的文章:

http://msdn.microsoft.com/en-us/magazine/cc164123.aspx

马丁