2011-12-30 53 views
1

我想为Silverlight编译AvalonEdit,但我不知道该怎么做,因为我从来没有使用过Silverlight,只有WPF。如何针对Silverlight编译.NET程序集?

我试图将此控件添加到我的Silverlight应用程序,但Visual Studio抱怨说程序集未针对Silverlight编译。

我认为这将是在项目设置中的目标平台下挑选Silverlight的问题。

任何想法?

+0

这项工作是否成功? – 2012-08-18 19:20:13

+0

否根据答案,它使很多工作在SL上工作。 – 2012-08-19 03:30:10

回答

1

您需要创建一个以silverlight(File - New Project - Silverlight)为目标的新项目,然后将AvalonEdit源代码中的所有源代码添加到该库中。

编辑:

还要注意的是,控制可能会使用不可在Silverlight类。从与此相关的控制(从2009年)在CodePlex上讨论:

Silverlight不具备System.Windows.Media.TextFormatting命名空间,所以你必须重写ICSharpCode.AvalonEdit的很大一部分。如果要将AvalonEdit移植到Silverlight,则需要渲染命名空间。

2

Silverlight和WPF程序集不兼容。因此,从Silverlight程序集中引用的任何程序集也必须编译为Silverlight程序集。我假设你对“项目设置”的引用是你的程序集,而不是第三方程序集。

但是,将WPF代码编译为Silverlight可能具有挑战性。 Silverlight是WPF的一个功能子集,因此代码可能使用Silverlight中不可用的功能。

+0

谢谢,我的意思是他们的程序集,因为它是开源的。 – 2011-12-30 08:28:55

1

在silverlight项目中,您不能引用非silverlight dll或项目。所以在这个项目中,如果有一个重要的非silverlight dll来构建这个项目。你不能做这个构建。

如果只有一些用法wfp支持,但silverlight不支持找出这个不同。 然后排除这些代码或使用杂注

#if !WPF 
//Todo 
#endif 
相关问题