Как скомпилировать сборку .NET для Silverlight? - PullRequest
1 голос
/ 30 декабря 2011

Я пытаюсь скомпилировать AvalonEdit для Silverlight, но я не уверен, как это сделать, поскольку я никогда не работал с Silverlight, только WPF.

Я пытался добавить этот элемент управления в свое приложение Silverlight, но Visual Studio жаловалась, что сборка не была скомпилирована для Silverlight.

Я думал, что это будет вопрос выбора Silverlight под целевой платформой в настройках проекта.

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 30 декабря 2011

Сборки Silverlight и WPF несовместимы.Поэтому любая сборка, на которую вы ссылаетесь из вашей сборки Silverlight, также должна быть скомпилирована как сборка Silverlight.Я предполагаю, что ваша ссылка на «настройки проекта» - это ваша сборка, а не сторонняя сборка.

Но компиляция кода WPF, так как Silverlight может оказаться сложной задачей.Silverlight - это функциональное подмножество WPF, поэтому в коде могут использоваться функции, недоступные в Silverlight.

1 голос
/ 30 декабря 2011

В проектах silverlight вы не можете ссылаться на не-silverlight dll или проекты.Таким образом, в этом проекте, если есть существенная не-Silverlight DLL для создания этого проекта.Вы не можете сделать эту сборку.

Если есть только некоторые варианты использования, поддерживаемые wfp, но Silverlight не поддерживает, выясните, что это отличается.Затем исключите эти коды или используйте прагму

#if !WPF
//Todo
#endif
1 голос
/ 30 декабря 2011

Вам необходимо создать новый проект, предназначенный для silverlight (Файл - Новый проект - Silverlight), а затем добавить весь исходный код из исходного кода AvalonEdit в эту библиотеку.

Edit:

Также обратите внимание, что элемент управления может использовать классы, которые недоступны в Silverlight. Из обсуждения codeplex, связанного с этим контролем (с 2009 года):

Silverlight не имеет пространства имен System.Windows.Media.TextFormatting, поэтому вам придется переписать большую часть пространства имен ICSharpCode.AvalonEdit.Rendering, если вы хотите перенести AvalonEdit в Silverlight.

...