2015-05-14 3 views
1

Я использую Xamarin, и мне было интересно, есть ли способ запустить Parse в общем проекте, так что мне не нужно дублировать мой код в проекте iOS и проекте Android в моем решении?Parse and Xamarin

Я что-то упустил или мне действительно нужно дублировать код парса?

ответ

2

То, что я сделал, это создать тип Shared Project для размещения моего определенного кода. Затем в моем приложении Xamarin.Android я ссылаюсь на Parse.Android.dll. В моем коде Xamarin.iOS я ссылался на файл Parse.iOS.dll. Помните, что тип "Shared Project" не создает DLL. Под капотом это просто файл, связанный с вашим фактическим проектом, поэтому он будет использовать ссылки этого проекта. Общий проект не должен содержать код, специфичный для iOS или Android.

+0

Чтобы уточнить, ваши проекты Android и iOS также должны иметь ссылку на общий проект. Кроме того, он не работает, если общий проект представляет собой портативную библиотеку классов. Вместо этого она должна быть обычной библиотекой классов. –

+0

Хорошо, рад, что у вас это работает, но я думаю, что вы неправильно используете термин «Общий проект». Если вы прочитали ссылки выше, «Общий проект» - это фактический тип проекта. Это просто связывание файлов под капотом и компиляция в контексте проекта iOS или Android. DLL не компилируется для совместного проекта. PCL отличается тем, что он фактически компилируется в DLL и может ссылаться на любой проект, который он поддерживает (Profile 78 поддерживает все проекты на основе Xamarin). У вас все еще может быть ваш основной Core как PCL, но только ваш код Parse stuff в «Shared Project». – SharpMobileCode

+0

В этой ссылке объясняется различие между общим проектом и портативной библиотекой классов, и когда вы можете выбрать один из них. http://developer.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications/sharing_code_options/ – SharpMobileCode