Невозможно добавить ссылку на сборку DLL в приложении Silverlight 5 - PullRequest
0 голосов
/ 25 июня 2011

Я пытаюсь использовать библиотеку Dynamic Data Display (D3) для отображения графиков в приложении Silverlight 5 (вне браузера). Всякий раз, когда я пытаюсь добавить «DynamicDataDisplay.dll» в качестве ссылки, он снова удаляется после закрытия диалога.

Однако я могу использовать ссылку в обычном проекте Windows Forms или WPF. Так это какое-то ограничение в платформе Silverlight?

Что я могу с этим поделать? Может, сам скомпилировать D3 по-другому?

Ответы [ 3 ]

3 голосов
/ 25 июня 2011

Приложения Silverlight могут использовать только сборки, скомпилированные проектами Silverlight.Существуют исключения, но для всего, что связано с пользовательским интерфейсом, это всегда так.

В результате, если вы хотите использовать стороннюю библиотеку в приложении Silverlight, для ее использования требуется специальная версия Silverlight вместонормальная версия.«Нормальную» версию иногда называют версией .NET4 или версией WPF, чтобы сравнить ее с версией Silverlight.

Чистый эффект заключается в том, что Silverlight для всех практических целей не двоично-совместим с полной CLR.Но существует совместимость с исходными кодами , включая большие разделы базовой структуры и частично несовместимое подмножество WPF.

Фактически стандартный подход к созданию параллельных сборок WPF и Silverlight заключается виспользуйте два проекта, которые связывают все те же исходные файлы с некоторой условной компиляцией.

К счастью для вас, как отметил @dtb, Dynamic Data Display уже поддерживает загрузку Silverlight.Но то же самое относится и к любой сторонней библиотеке, которую вы могли бы использовать: она должна иметь вид Silverlight.

1 голос
/ 25 июня 2011

Если d3 dll зависит от полной установки .Net, а не только от подмножества silverlight, Silverlight не разрешит прямой импорт.Вам нужно будет разместить DLL на своем сервере и предоставить ему асинхронные методы обслуживания.Если это не действительно убийственная DLL, это того не стоит ...

0 голосов
/ 29 июня 2011

Вы также можете использовать переносимые библиотеки классов. Я silverlight

...