Как перенести C # .net .dll в siverlight для большей независимости от платформы? - PullRequest
0 голосов
/ 30 апреля 2010

Я кодировал библиотеку dll, используя базовые утилиты C #. Но для независимости платформы я хочу перенести ее на silverlight. Является ли это возможным? Если можно, то как это сделать?

Или у вас, ребята, есть другие предложения?

Ответы [ 4 ]

5 голосов
/ 30 апреля 2010

Если вы собираете свою DLL для Silverlight4, на нее можно ссылаться из .NET-проекта; но не наоборот. См. Совместное использование сборок Silverlight с .NET Apps .

2 голосов
/ 30 апреля 2010

Еще один метод совместного использования исходного кода между SL и .Net - использование связанных файлов.

В вашем решении .net добавьте проект библиотеки silverlight.

Добавить> Существующий элемент> найдите исходные файлы в проекте .net, выберите их, нажмите маленькую стрелку вниз на кнопке «Добавить» и выберите «Добавить как ссылку».

В большинстве случаев никаких изменений не требуется. В случае незначительного расхождения используйте флаги сборки и условные выражения в исходном коде. например,

#if SILVERLIGHT 

#else

#endif

Это хорошо сработало для меня, особенно когда я хочу поделиться библиотекой DTO.

0 голосов
/ 03 ноября 2011

Вам нужна портативная библиотека классов: http://msdn.microsoft.com/en-us/library/gg597391.aspx

Таким способом можно совместно использовать проект / DLL между проектами .Net, Silverlight и Windows Phone.

0 голосов
/ 30 апреля 2010

Мое предложение - создавать разные файлы проекта (для .NET и SL). Затем добавьте общие файлы в каждый.

Многие классы и методы доступны как в .NET, так и в SL, поэтому можно сделать так, чтобы оба проекта использовали один и тот же код.

Это относится не ко всем сценариям. Например, мой проект с открытым исходным кодом #SNMP использует связанные с UDP классы, но SL не имеет никаких связанных с UDP вещей.

Мой личный выбор - ограничить размер приложения SL и переместить необходимые части в приложение WCF бэкэнда.

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