在 Silverlight 5 中使用 .Net 标准程序集

Using .Net standard assemblies in Silverlight 5

使用 .Net 标准构建的 .Net Core 程序集能否或将与 Silverlight 5 兼容?

理想情况下二进制兼容,但重新编译也可以。如果是,是否有关于如何创建此类程序集的文档?

我在文档中找不到任何关于 Silverlight 的信息,例如.Net Standard Documentation

没有。只有 Silverlight 支持(在 .Net Standard 1.0 上)是 Windows Phone Silverlight 8.0。更多信息 https://github.com/dotnet/standard/blob/master/docs/versions.md

从 Silverlight 和 .Net 引用同一个 DLL 的唯一方法是使用 Portable Class Library (PCL)。由于 PCL 必须是跨平台的,并且该技术早于 .Net Standard,因此您在 PCL 中可以做的事情将非常有限(比您在 Silverlight 中可以做的事情更有限) .

因为 Silverlight 已经在通往 being sunsetted, there will be no new features for the technology. Only bug fixes and security patches until October 2021. Silverlight's compatibility has been shrinking since the announcement, and all modern browsers have dropped support 的道路上(或者从未有过)。

不支持 Silverlight 的浏览器列表包括:

  • Firefox 自版本 52.0
  • Chrome 因为他们 disabled NPAPI support
  • 自版本以来的 Safari 9.x
  • Microsoft Edge(从未添加支持)

所有人也都禁用了 Flash 支持。唯一仍然支持 Silverlight 的浏览器是 Internet Explorer。

由于距离 Silverlight 完全消亡还有 3 年(截至 2018 年),我建议远离它并使用基于标准的 HTML5/CSS3/JavaScript6 解决方案。

线程有点旧,但如果您仍在寻找 Silverlight 应用程序迁移,您可能想看看这个:http://www.cshtml5.com

它允许您保留现有的 C# 和 XAML 代码,并将文件编译为 HTML5 和 JavaScript。

他们还有专门针对 SL 迁移的指南:http://www.cshtml5.com/links/migrating-from-silverlight.aspx