Silverlight 4 与.NET 之间的程序集共享

  • Jonathan Allen
  • 张龙

2009 年 12 月 4 日

话题:.NET语言 & 开发架构

使用 Silverlight 2 和 3 构建的程序集与.NET Framework 并非二进制兼容的,因此为了共享代码我们通常需要编译两次才行。借助于 Silverlight 4 和.NET 4,我们可以在.NET 4 中使用某些基于 Silverlight 的程序集。

.NET 中加载的 Silverlight 程序集只能引用如下程序集:

  • Mscorlib
  • System
  • System.Core
  • System.ComponentModel.Composition
  • Microsoft.VisualBasic

目前还不支持其他的程序集比如 System.Xml 和 System.Net,另外所有的 UI 程序库也不支持。这意味着我们可以共享 passive 数据对象,然而可以调用服务或是能够处理本身 XML 序列化的active records则不行。

大家还需要注意我们无法在 Silverlight 中加载.NET 程序集。既然 Silverlight 中的非 UI 部分就是.NET 的一个子集,开发小组认为这么做要比处理大量缺失的类和方法更好。

如果想了解关于程序集可移植性的更多信息或是报告 Silverlight 与.NET 之间的不兼容问题,请访问CLR 团队的博客

查看英文原文:Silverlight 4 Brings Assembly Sharing with .NET

.NET语言 & 开发架构