Silverlight和普通.NET Framework之间的CLR差异?

时间:2010-07-29 20:10:19

标签: .net silverlight clr libraries

是否有任何汇总指南来编写需要与Silverlight兼容的库?

或者是构建,查找错误,修复,重复的标准程序?

显然我认识到答案可能取决于目标是什么版本的Silverlight,但如果解决方案是特定的,我希望任何答案都可以指定版本。


澄清:基本上我希望该库适用于普通的CLR和Silverlight,而不是引用任何特定于Silverlight的库。如果需要引用这些库以使其在Silverlight中工作,那么我更喜欢使用条件编译并生成专门的构建。理想情况下,它可以正常工作,因为我可以选择两者的功能子集。


这有什么明确的资源吗?我主要是在寻找一个列出常见事项的网站。基本上是积极的,而不仅仅是在采取措施后寻找问题。

2 个答案:

答案 0 :(得分:4)

您的意思是在Silverlight项目和常规CLR项目之间共享代码吗?在这种情况下,我通常将代码编写为Silverlight项目,以确保我不使用任何不可用的功能。只要您远离Gui组件,您的代码也将与.Net兼容。

可以从.Net 4运行时引用Silverlight 4程序集。在这里你有相同的情况,但你只需要编译一个版本的程序集。

答案 1 :(得分:0)

启动社区Wiki以获取有关此主题的资源的链接。 (仍在搜索标准CLR和Silverlight CLR之间的API增量列表。)

使用相同的代码定位多个CLR:

Silverlight完全在不同版本的CLR上运行,该版本的二进制文件与标准CLR不兼容。所以你实际上无法构建一个同时针对两者的库。但是,您可以使用完全相同的代码文件来构建每个环境的目标。

(或者,如果您对条件属性小心,则可以对单个.csproj执行相同的操作。)

WPF与Silverlight 2.0之间的差异:

WPF与Silverlight 1.1之间的差异:

Windows和Macintosh上的Silverlight差异:

Windows Phone上Silverlight的差异:

另一个变体是Silverlight的Windows Phone实现。