我有一个通过COM公开内容的C ++ DLL。我想将其转换为公开托管接口的C ++ / CLI。理想情况下,我只需添加CLI并逐个转换接口。到目前为止,我还没有成功,所以我正在寻找一个具体的策略。
更多细节: 很久以前,我使用COM创建了一个应用程序,用于在C#和C ++之间来回通信。我厌倦了COM,并且在C ++方面需要注册和箍跳。
我想使用C ++ / CLI,并使用C ++ / CLI到我正在使用的本机库偶尔调用托管代码。
任何人都可以建议一个温和的迁移路径,这样我可以同时使用CLI和COM,并且在我去的时候通过类测试转换类上的东西吗?或类似的东西。
要明确:我目前有本地C ++代码定义和实现COM接口。我有使用COM属性的C#代码来导出类。所有这些东西都被注册为COM互操作,并且有两个方向的呼叫。我希望将C ++切换到CLI并切换到C ++中的托管类而不是COM类。
为Ramhound更新了问题:无论如何,我遇到了砖墙。打开C ++ DLL上的/ clr会给我链接错误,因为其他东西试图连接到那个C ++代码。 (那种让我远离C ++的不可读的ATL / COM消息)
答案 0 :(得分:2)
您可能需要仔细阅读,因为它提供了一些不同的方法和考虑因素:http://msdn.microsoft.com/en-us/magazine/dd315414.aspx
这是一个如何在C ++ / CLI中使用interop的简单示例,您可以在其中定义一个或两个方法并随时添加更多:http://blogs.msdn.com/b/borisj/archive/2006/07/29/683061.aspx
答案 1 :(得分:-1)