You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Silverlight应用程序移植到Visual Studio 2017?

针对Silverlight项目迁移至VS2017的变通方案

嘿,我刚好处理过类似的迁移场景,给你几个实际可行的变通方案,帮你把Silverlight应用带到VS2017里:

  • 使用社区维护的VS2017 Silverlight支持扩展
    虽然微软官方在VS2017中砍掉了Silverlight支持,但社区有开发者维护了适配VS2017的Silverlight工具补丁。你可以先确保VS2017安装了完整的.NET Framework 4.x开发组件,然后手动安装这个第三方扩展,这样就能在VS2017中打开、编辑甚至编译Silverlight项目了。不过要注意,这只是临时过渡方案——因为浏览器早已停止支持Silverlight插件,最终你还是需要迁移到现代技术栈。

  • 渐进式迁移到WPF(桌面端)或Blazor(Web端)
    这是更长期的靠谱方案:

    • 如果你的Silverlight是桌面应用,WPF和Silverlight共享大量XAML语法和.NET API,很多UI代码可以直接复用。你可以先把核心业务逻辑抽成.NET Standard类库,然后在VS2017中新建WPF项目,逐步把Silverlight的UI和逻辑迁移过来。
    • 如果是Web端Silverlight,推荐迁移到Blazor。Blazor支持WebAssembly运行模式,能提供类似Silverlight的富客户端体验,而且是微软当前主推的Web技术,生态更活跃。同样可以先拆分业务逻辑为独立类库,再用Blazor重构UI层。
  • 拆分Silverlight项目为类库+宿主项目
    把Silverlight项目中的业务逻辑、工具类等抽成独立的.NET Framework类库,在VS2017中维护这些类库;然后新建一个WPF/WinForms项目作为宿主,重新实现UI部分并调用类库的功能。这种方式能最大程度保留原有代码的价值,同时摆脱Silverlight的依赖。

额外提醒

不管选择哪种方案,都要注意Silverlight特有的API(比如System.Windows.Controls.Silverlight下的专属控件),这些在目标技术栈中可能需要寻找替代方案。另外,由于Silverlight已在2021年终止支持,临时的补丁方案只适合短期过渡,长远来看还是建议彻底迁移到现代技术栈,避免后续维护风险。

内容的提问来源于stack exchange,提问作者The Apache

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:20:59