我有一个我需要通过c#访问的自定义dll(未注册)。如何在不注册DLL的情况下执行此操作?
编辑:这是一个C ++ DLL。
答案 0 :(得分:4)
请参阅Registration-Free COM Interop:
免注册COM互操作 不使用激活组件 用于存储程序集的Windows注册表 信息。而不是注册 计算机上的组件 部署,你创建Win32风格 在设计时清楚文件 包含有关绑定和 激活。这些清单文件, 而不是注册表项,直接 激活一个物体。
使用免注册激活 您的程序集而不是注册 他们在部署期间提供两个 优点:
- 您可以控制多个时激活的DLL版本 一个版本安装在一个 电脑。
- 最终用户可以使用XCOPY或FTP将您的应用程序复制到 他们的合适目录 电脑。然后应用程序可以 从该目录运行。
答案 1 :(得分:1)
我假设你想通过P / Invoke使用从这个dll导出的函数?如果是这样,您只需要将dll复制到与exe文件相同的文件夹中。然后为要使用的C ++ DLL中的函数编写C#声明。请参阅DllImportAttribute。