我想为Silverlight编译AvalonEdit,但我不知道该怎么做,因为我从来没有使用过Silverlight,只有WPF。如何针对Silverlight编译.NET程序集?
我试图将此控件添加到我的Silverlight应用程序,但Visual Studio抱怨说程序集未针对Silverlight编译。
我认为这将是在项目设置中的目标平台下挑选Silverlight的问题。
任何想法?
我想为Silverlight编译AvalonEdit,但我不知道该怎么做,因为我从来没有使用过Silverlight,只有WPF。如何针对Silverlight编译.NET程序集?
我试图将此控件添加到我的Silverlight应用程序,但Visual Studio抱怨说程序集未针对Silverlight编译。
我认为这将是在项目设置中的目标平台下挑选Silverlight的问题。
任何想法?
您需要创建一个以silverlight(File - New Project - Silverlight)为目标的新项目,然后将AvalonEdit源代码中的所有源代码添加到该库中。
编辑:
还要注意的是,控制可能会使用不可在Silverlight类。从与此相关的控制(从2009年)在CodePlex上讨论:
Silverlight不具备System.Windows.Media.TextFormatting命名空间,所以你必须重写ICSharpCode.AvalonEdit的很大一部分。如果要将AvalonEdit移植到Silverlight,则需要渲染命名空间。
Silverlight和WPF程序集不兼容。因此,从Silverlight程序集中引用的任何程序集也必须编译为Silverlight程序集。我假设你对“项目设置”的引用是你的程序集,而不是第三方程序集。
但是,将WPF代码编译为Silverlight可能具有挑战性。 Silverlight是WPF的一个功能子集,因此代码可能使用Silverlight中不可用的功能。
谢谢,我的意思是他们的程序集,因为它是开源的。 – 2011-12-30 08:28:55
在silverlight项目中,您不能引用非silverlight dll或项目。所以在这个项目中,如果有一个重要的非silverlight dll来构建这个项目。你不能做这个构建。
如果只有一些用法wfp支持,但silverlight不支持找出这个不同。 然后排除这些代码或使用杂注
#if !WPF
//Todo
#endif
这项工作是否成功? – 2012-08-18 19:20:13
否根据答案,它使很多工作在SL上工作。 – 2012-08-19 03:30:10