创建一个C++;C#COM服务器的COM客户端

创建一个C++;C#COM服务器的COM客户端,c#,c++,visual-studio,com,C#,C++,Visual Studio,Com,我有一个C#ComServerProject,它实现了一个out-of-proc-COM服务器,我在服务器项目的“assembly-Information”对话框中选择了“Make-assembly-COM-visible”选项。在同一个解决方案中,我有一个C++ COMclipse项目,它应该使用在 COMSEVPROSPOTION/CODE>中定义的COM接口。但是,我不知道如何实际使用我的C++客户机中定义的接口。 所有Google搜索结果都表明,您应该执行导入“ComServerPro

我有一个C#
ComServerProject
,它实现了一个out-of-proc-COM服务器,我在服务器项目的“assembly-Information”对话框中选择了“Make-assembly-COM-visible”选项。在同一个解决方案中,我有一个C++ <代码> COMclipse项目,它应该使用在<代码> COMSEVPROSPOTION/CODE>中定义的COM接口。但是,我不知道如何实际使用我的C++客户机中定义的接口。 所有Google搜索结果都表明,您应该执行导入“ComServerProject.tlb”从COM服务器导入类型库。但是在构建过程中没有创建
.tlb
文件!我还尝试检查服务器项目属性的Build选项卡上的“Register for COM interop”框,但它仍然没有创建.tlb文件。另外,它要求我运行VS提升,这是我想要避免的

如何让VS2010实际创建任何需要的文件以拥有可用的COM服务器?

在生成的程序集上使用来创建.tlb

比如:

tlbexp ComServerProject.dll /out:ComServerProject.tlb

我需要一个明确的编译后步骤吗,或者我可以说服VS为我做这件事吗?我不知道有什么方法可以让VS调用tlbexp而不诉诸编译后步骤。您可以:在Visual Studio 2010中,勾选程序集“build”下的“Register for COM interop”框。