3

我尝试在 Visual C++ VS2012 下的“Windows Phone Direct3D App(仅限本机)”项目类型的应用程序中引用 facebook.dll - wp8 分支,但出现错误:

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

限制是我不能更改应用程序的体系结构,因此主入口点必须在 C++ 项目中,并从这里以某种方式调用用 C# 编写的用于 facebook 的代码。

基于http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714080(v=vs.105).aspx,我还尝试通过 Visual C++“Windows Phone Runtime”间接引用 C# dll组件”,但我又得到了同样的错误。我试图更改一些项目设置,但没有任何效果。尝试在 C++ 中使用 C# dll,在我在网上找到的所有示例和演示中,对于 wp8,主要入口点始终在 C# 中。只有一些关于 Windows 商店应用程序的提示似乎表明可以从 C++ 使用 C#,但我没有找到任何参考明确说明我在 wp8 上的场景是可能的或不可能的。

如何从我的 WP8 应用程序使用 facebook SDK?或者我有什么选择?

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

4

1 回答 1

1

C++ 项目不能只调用 WP8 中的任何 C# DLL。你必须改变类的构建方式。启动一个新的 C# XAML + C++ D3D 项目并查看 IDrawingSurfaceManipulationHandler 和 Direct3DInterop。基本上,您必须重新创建和重新编译 Facebook C# SDK 才能在 WP8 C++ 中使用它。

但是,在我的机器上安装和使用 WP8 C# 项目上的 Facebook SDK 可以正常工作。您是否考虑过使用混合的 C# 和 C++ 项目?它确实有一个小的性能命中,但只要你使用 DrawingSurfaceBackgroundGrid,你应该仍然有相对较好的性能。

于 2013-01-27T00:13:40.023 回答