在C+中使用C#dll+;适用于Windows Phone 8 我在Visual C++中用Visual Studio 2012创建了Windows Phone 8应用程序“Windows Phone Direct3D应用程序(纯本地)”,并在Visual C组中创建了“Windows电话类库”项目库,该库具有目标平台“Windows Phone OS 8”。我所需要的就是在C++代码中消耗C语言的dll。限制是我不能改变应用程序的架构,所以主要入口点必须在C++项目中,从这里调用以C语言编写的代码。

在C+中使用C#dll+;适用于Windows Phone 8 我在Visual C++中用Visual Studio 2012创建了Windows Phone 8应用程序“Windows Phone Direct3D应用程序(纯本地)”,并在Visual C组中创建了“Windows电话类库”项目库,该库具有目标平台“Windows Phone OS 8”。我所需要的就是在C++代码中消耗C语言的dll。限制是我不能改变应用程序的架构,所以主要入口点必须在C++项目中,从这里调用以C语言编写的代码。,c#,windows-phone-8,windows-phone,c++-cx,winprt,C#,Windows Phone 8,Windows Phone,C++ Cx,Winprt,如果我试图引用C++应用程序中的c*dll,则会得到这个错误 无法添加对[dllname]的引用,因为这两个项目 针对不同的运行时 基于此,我尝试通过Visual C++“Windows Phone运行时组件”间接引用C语言的DLL,但在尝试添加运行时组件时,同样会遇到同样的错误。我试图更改一些项目设置,但没有任何效果。 在我在web上找到的所有示例和演示中,对于WP8,主要的入口点始终是C。只有一些关于Windows商店应用程序的提示似乎表明可以从C++中消耗C ^,但是我没有找到任何明确地指

如果我试图引用C++应用程序中的c*dll,则会得到这个错误

无法添加对[dllname]的引用,因为这两个项目 针对不同的运行时

基于此,我尝试通过Visual C++“Windows Phone运行时组件”间接引用C语言的DLL,但在尝试添加运行时组件时,同样会遇到同样的错误。我试图更改一些项目设置,但没有任何效果。 在我在web上找到的所有示例和演示中,对于WP8,主要的入口点始终是C。只有一些关于Windows商店应用程序的提示似乎表明可以从C++中消耗C ^,但是我没有找到任何明确地指出我的方案在WP8上是可能的或不可能的。


提前感谢分享解决方案或任何建议的任何人。

迟来的回答,但简短的故事是,你不能。在Windows8c#中,WinRT DLL是完整的WinRT DLL,可以被任何框架(WinJS、Native等)使用,但手机却不是这样


电话上C可以消耗C++ WiRT对象(来自C++ DLL),但反之亦然。你可以通过让C语言的DLL调用C++的DLL并传递函数指针来创建欺骗,但是这是关于它的。

< P>我喜欢这个:您可以将接口注入到.WMMD C++侧元数据中,这可以在C++中引用和实现。比使用代理更干净。。。仍然必须从C#…启动

确保项目架构都是为x86等编译的。。。