AvalonEdit for Silverlightをコンパイルしようとしていますが、Silverlightを使用したことがなく、WPFのみを使用したため、その方法がわかりません。
このコントロールをSilverlightアプリケーションに追加しようとしましたが、VisualStudioがアセンブリがSilverlightに対してコンパイルされていないと文句を言いました。
プロジェクト設定のターゲットプラットフォームでSilverlightを選択することになると思いました。
何か案は?
AvalonEdit for Silverlightをコンパイルしようとしていますが、Silverlightを使用したことがなく、WPFのみを使用したため、その方法がわかりません。
このコントロールをSilverlightアプリケーションに追加しようとしましたが、VisualStudioがアセンブリがSilverlightに対してコンパイルされていないと文句を言いました。
プロジェクト設定のターゲットプラットフォームでSilverlightを選択することになると思いました。
何か案は?
SilverlightアセンブリとWPFアセンブリには互換性がありません。したがって、Silverlightアセンブリから参照するアセンブリも、Silverlightアセンブリとしてコンパイルされている必要があります。「プロジェクト設定」への参照は、サードパーティのアセンブリではなく、アセンブリであると想定しています。
ただし、SilverlightとしてWPFコードをコンパイルするのは難しい場合があります。SilverlightはWPFの機能サブセットであるため、コードはSilverlightでは使用できない機能を使用する場合があります。
Silverlightを対象とする新しいプロジェクトを作成し([ファイル]-[新しいプロジェクト]-[Silverlight])、AvalonEditソースコードのすべてのソースコードをそのライブラリに追加する必要があります。
編集:
また、コントロールがSilverlightで使用できないクラスを使用する場合があることにも注意してください。このコントロールに関連するcodeplexの議論から(2009年から):
SilverlightにはSystem.Windows.Media.TextFormatting名前空間がないため、AvalonEditをSilverlightに移植する場合は、ICSharpCode.AvalonEdit.Rendering名前空間の大部分を書き直す必要があります。
Silverlightプロジェクトでは、Silverlight以外のdllまたはプロジェクトを参照することはできません。したがって、このプロジェクトでは、このプロジェクトを構築するために不可欠な非Silverlightdllがある場合。このビルドを行うことはできません。
wfpがサポートしている使用法がいくつかあるが、silverlightがサポートしていない場合は、これが異なることを確認してください。次に、これらのコードを除外するか、プラグマを使用します
#if !WPF
//Todo
#endif