从UWP c ++ / cx调用UWP C#代码

时间:2016-06-27 19:02:00

标签: c# c++ uwp

我有一个UWP C ++ / cx应用程序和UWP C#类库 如何在c ++项目中使用c#库中的类?

  • UWP应用程序不支持C ++ / CLI,因此我无法制作c ++ / cli包装器。
  • 我不确定,但看起来COM包装在UWP世界中不是一个选项。
  • 反向P / Invoke不是选项,因为主机应用程序是c ++
  • Windows运行时组件也需要来自C#代码的回调, 但它只能在c ++代码中实例化。

有什么建议吗?

P.S。
我不能拥有" c#proxy app",我的应用程序是c ++ / cx类型。

2 个答案:

答案 0 :(得分:1)

Standart uwp c#classlibrary对于c ++ / cx是不可见的。
代理库" windows运行时组件"应该创建并添加到c ++类。

答案 1 :(得分:0)

有关如何执行此操作的一个很好的示例,请查看如何使用React Native Windows中的ChakraBridge C ++ / CX项目: https://github.com/Microsoft/react-native-windows/tree/master/ReactWindows/ChakraBridge

C#调用C ++ / CX,然后完全透明地退出,实现CLR允许的跨语言工作流程。在React Native Windows中还有一个pull请求,它显示了如何添加一些允许共享C ++ / CX和C ++ / CLI代码的编译时指令: https://github.com/Microsoft/react-native-windows/pull/769/