创建可执行 COM 作为 ATL 项目并在 C# 中使用它
Creating executable COM as ATL project and use it in C#
尝试在可执行文件中创建 COM 对象并在 C# 项目中使用它:
正在可执行文件中创建 COM。
使用 ATL 项目创建
添加class:
编译运行没有问题。
尝试在 C# 项目中使用但失败。项目的自注册...失败。可能出了什么问题? VS 以管理员身份启动。
您应该在 C# 项目中添加对服务器类型库的引用才能使用它:
- 在解决方案资源管理器中右键单击
References
,然后单击 Add a reference
- 在引用管理器中选择 COM。
- Select 您的类型类型库(在您的示例中为
ComTstLib
)
- 在解决方案资源管理器中,打开刚刚添加的引用的快捷菜单,然后选择 Properties.In 属性 window,确保已设置嵌入互操作类型 属性为真。这会导致 Visual Studio 在您的可执行文件中嵌入 COM 类型的类型信息,从而无需在您的应用程序中部署主要的互操作程序集。
在部署时,您只需确保您的 com 服务器已经安装在客户端机器上。
另见 msdn
尝试在可执行文件中创建 COM 对象并在 C# 项目中使用它:
正在可执行文件中创建 COM。
使用 ATL 项目创建
添加class:
编译运行没有问题。
尝试在 C# 项目中使用但失败。项目的自注册...失败。可能出了什么问题? VS 以管理员身份启动。
您应该在 C# 项目中添加对服务器类型库的引用才能使用它:
- 在解决方案资源管理器中右键单击
References
,然后单击Add a reference
- 在引用管理器中选择 COM。
- Select 您的类型类型库(在您的示例中为
ComTstLib
) - 在解决方案资源管理器中,打开刚刚添加的引用的快捷菜单,然后选择 Properties.In 属性 window,确保已设置嵌入互操作类型 属性为真。这会导致 Visual Studio 在您的可执行文件中嵌入 COM 类型的类型信息,从而无需在您的应用程序中部署主要的互操作程序集。
在部署时,您只需确保您的 com 服务器已经安装在客户端机器上。
另见 msdn