Я пытаюсь сослаться на facebook.dll — ветку wp8 — в приложении типа проекта «Windows Phone Direct3D App (Native only)» под Visual C ++ VS2012, и я получаю сообщение об ошибке:
Ссылка на [имя dll] не может быть добавлена, потому что два проекта
целевые различные среды выполнения.
Ограничение состоит в том, что я не могу изменить архитектуру приложения, поэтому основная точка входа должна быть в проекте C ++, и отсюда можно как-то вызвать код, написанный на C # для facebook.
На основе http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714080(v=vs.105).aspx , Я пытался также ссылаться на C # dll косвенно через Visual C ++ «Windows Phone Runtime Component», но снова я получаю ту же ошибку. Я пытался изменить некоторые настройки проекта, но ничего не получалось. Пытаясь использовать C # dll в C ++, во всех примерах и демонстрациях, которые я нашел в Интернете, для wp8, основная точка входа всегда находится в C #. Похоже, что только некоторые подсказки, касающиеся приложений Windows Store, указывают на то, что можно использовать C # из C ++, но я не нахожу никаких ссылок, прямо говорящих о том, что мой сценарий на wp8 возможен или невозможен.
Как я могу использовать Facebook SDK из моего приложения WP8? Или какие у меня есть варианты?
Заранее спасибо всем, кто поделится решением или любым предложением
Проекты C ++ не могут просто вызывать любую C # DLL в WP8. Вам придется изменить способ построения класса. Начните новый проект C3 XAML + C ++ D3D и посмотрите на IDrawingSurfaceManipulationHandler и Direct3DInterop. В основном вам придется пересоздать и перекомпилировать Facebook C # SDK, чтобы использовать его в WP8 C ++.
Тем не менее, установка и использование Facebook SDK в проектах WP8 C # работает нормально на моей машине. Рассматривали ли вы использовать смешанный проект C # и C ++? У него действительно есть небольшой успех, но пока вы используете DrawingSurfaceBackgroundGrid, у вас все равно должен быть относительно хороший результат.
Других решений пока нет …