我有一个自定义的DLL(未注册),需要通过C#访问。在不注册DLL的情况下,我该怎么做?

编辑:这是C ++ DLL。

有帮助吗?

解决方案

无注册的com interop:

无注册COM Interop激活组件,而无需使用Windows注册表存储汇编信息。您没有在部署期间在计算机上注册组件,而是在设计时间创建WIN32风格的清单文件,其中包含有关绑定和激活的信息。这些清单文件而不是注册表键指导对象的激活。

使用无注册激活进行组件,而不是在部署期间注册它们提供两个优点:

  • 当在计算机上安装多个版本时,您可以控制哪个DLL版本已激活。
  • 最终用户可以使用Xcopy或FTP将您的应用程序复制到其计算机上的适当目录。然后可以从该目录运行该应用程序。

其他提示

我假设您想通过P/Invoke使用从此DLL导出的功能?如果是这样,您只需要将DLL复制到与EXE文件相同的文件夹。然后为您要使用的C ++ DLL中的功能编写C#声明。看 dllimportattribute.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top