使用 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 团队的博客。








评论