2011-12-30 2 views
1

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

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

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

Любые идеи?

+0

Было ли это усилие успешным? –

+0

Нет основано на ответе, что это большая работа, чтобы заставить его работать на SL. –

ответ

1

Вам необходимо создать новый проект, который нацелен на silverlight (File - New Project - Silverlight), а затем добавить в исходный код исходного кода AvalonEdit исходный код.

Edit:

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

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

2

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

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

+0

Спасибо, я имел в виду их сборку, потому что это с открытым исходным кодом. –

1

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

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

#if !WPF 
//Todo 
#endif 
Смежные вопросы