WPF 从 .net core 3.1到 .net 5.0
WPF 从 .net core 3.1 到 .net 5.0
Intro#
昨天更新了一个简单的 asp.net core webapi 项目,从 3.1 更新到了 5.0,今天更新一个 WPF 应用到 net 5.0
项目文件更新#
- 首先项目文件中的 SDK 发生了变化,原来是
Microsoft.NET.Sdk.WindowsDesktop
更新后变为Microsoft.NET.Sdk
,和普通的 Console 应用以及类库应用的 SDK 保持一致 - 项目目标框架修改,从原来的
netcoreapp3.1
变为net5.0-windows
,WPF 中有很多API 都是 Windows 上才可以用的
在以前的 .NET Core 版本中,WinForms 和 WPF 应用使用单独的项目 SDK (Microsoft.NET.Sdk.WindowsDesktop)。 从 .NET 5.0 开始,WinForms 和 WPF SDK 已与 .NET SDK (Microsoft.NET.Sdk) 统一。
持续集成配置更新#
我目前使用的是 Azure DevOps 来做持续集成的,需要更新持续集成配置以保证 build 不会失败
原来使用的是 dotnet core sdk 3.1,现在更新成 net 5.0 sdk 也需要更新,需要注意的是默认不适用预览版 sdk,而 5.0 还未正式发布,所以需要配置使用预览版 sdk,安装 SDK 是使用的微软封装的一个 Task,详细可以参考文档 https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops
修改如下:
More#
我测试了一下,WPF 项目 Target 设置为 net5.0
也可以的,可能微软是想特别表示只能运行在 windows 上吧
于是尝试把项目设置为 net5.0
,但是 Azure 上的持续集成失败了,test 的项目需要是 net5.0-windows
,看起来是可以检测目标平台的,索性直接都改成了 net5.0-windows
了,有兴趣的童鞋可以自己尝试一下
Reference#
- https://docs.microsoft.com/en-us/dotnet/core/compatibility/3.1-5.0#windows-presentation-framework-wpf
- https://docs.microsoft.com/zh-cn/dotnet/core/compatibility/3.1-5.0#windows-presentation-framework-wpf
- https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops
- https://github.com/WeihanLi/DbTool
- https://github.com/WeihanLi/DbTool/commit/2d78391d907bbec5137486984d0d057b7d9217c1
- https://github.com/WeihanLi/DbTool/commit/ecd2fcb602a22d9dd9a6d0a2be038e07b4933492
作者:weihanli
出处:https://www.cnblogs.com/weihanli/p/migrate-wpf-to-netcore5-from-netcore3_1.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
· 领域驱动的事实与谬误 一 DDD 与 MVC
· SQL Server 2025 中的改进
· 当数据爆炸遇上SQL Server:优化策略全链路解析
· 记录一次线上问题排查:JDK序列化问题
· 个人对Debian桌面系统的简单使用分享
· 待到山花烂漫时:鸿蒙开发者的个人感悟
· 凯亚利用直播推流技术请大家看电影
· Socket实践:使用云服务器当代理连接公司内网,简单实现跨局域网调用部署在公司局域网里的api接口
· 【SQL周周练】一句 SQL 如何帮助 5 个人买到电影院最好的座位?
2016-09-21 多终端数据同步机制设计(二)