Можно ли обмениваться кодом между веб-приложением Silverlight и приложением Windows Phone 7? - PullRequest
3 голосов
/ 22 сентября 2010

У меня есть простое приложение Silverlight, которое я хочу запустить на Windows Phone 7 почти так же, как есть. Я создал новый проект Windows Phone 7, и когда я ссылаюсь на приложение Silverlight, я получаю предупреждение «Добавление ссылки на проект Silverlight может работать некорректно. Продолжить?».

Если я продолжу и все равно попытаюсь запустить, проект WP7 никогда не запускается или иногда я получаю сообщение об ошибке «AG_E_PARSER_BAD_TYPE», и оно указывает на строку в xaml, в которой я использовал элемент управления из проекта Silverlight.

Код между этими двумя проектами примерно на 99% одинаков. Есть ли другой способ повторного использования кода, то, что я пытаюсь? Или как мне заставить это работать?

Ответы [ 3 ]

4 голосов
/ 22 сентября 2010

Я не очень знаком с разницей между двумя платформами, но вы можете связать файлы кода в другой проект, не дублируя их.Добавьте существующий элемент и нажмите стрелку вниз рядом с кнопкой «Добавить» или «OK».Выберите ссылку.

1 голос
/ 22 сентября 2010

Вместо добавления проекта Silverlight [предположительно, библиотеки классов] в ваше приложение WP7, попробуйте создать библиотеку классов WP7 и затем связать файлы из библиотеки Silverlight. У вас по-прежнему будет только одна копия каждого файла, но все ваши библиотеки будут собраны соответствующим образом для платформы, на которой они работают.

Это также может помочь вам определить причину проблемы. Ошибка AG_E_PARSER_BAD_TYPE предполагает, что у вас есть тип XAML в вашем проекте Silverlight, который не поддерживается на телефоне.

1 голос
/ 22 сентября 2010

Типичным способом достижения этого является использование шаблона, подобного MVVM, который позволит вам определить общую модель и слой модели представления (возможно, в отдельном проекте), определяя другой слой представления, который ссылается на этот общий проект.

Вы сказали это сами, вы будете делиться только MOST-кодом, а не всем, поэтому вам, по крайней мере, когда-нибудь, потребуется создать специальную логику и макет устройства / внешнего интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...