WPF 从 .net core 3.1 到 .net 5.0
WPF 從 .net core 3.1 到 .net 5.0
Intro
昨天更新了一個(gè)簡單的 asp.net core webapi 項(xiàng)目,從 3.1 更新到了 5.0,今天更新一個(gè) WPF 應(yīng)用到 net 5.0
項(xiàng)目文件更新
首先項(xiàng)目文件中的 SDK 發(fā)生了變化,原來是 Microsoft.NET.Sdk.WindowsDesktop 更新后變?yōu)?Microsoft.NET.Sdk,和普通的 Console 應(yīng)用以及類庫應(yīng)用的 SDK 保持一致
項(xiàng)目目標(biāo)框架修改,從原來的 netcoreapp3.1 變?yōu)?net5.0-windows,WPF 中有很多API 都是 Windows 上才可以用的
在以前的 .NET Core 版本中,WinForms 和 WPF 應(yīng)用使用單獨(dú)的項(xiàng)目 SDK (Microsoft.NET.Sdk.WindowsDesktop)。從 .NET 5.0 開始,WinForms 和 WPF SDK 已與 .NET SDK (Microsoft.NET.Sdk) 統(tǒng)一。
持續(xù)集成配置更新
我目前使用的是 Azure DevOps 來做持續(xù)集成的,需要更新持續(xù)集成配置以保證 build 不會(huì)失敗
原來使用的是 dotnet core sdk 3.1,現(xiàn)在更新成 net 5.0 sdk 也需要更新,需要注意的是默認(rèn)不適用預(yù)覽版 sdk,而 5.0 還未正式發(fā)布,所以需要配置使用預(yù)覽版 sdk,安裝 SDK 是使用的微軟封裝的一個(gè) Task,詳細(xì)可以參考文檔 https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops
修改如下:
More
我測試了一下,WPF 項(xiàng)目 Target 設(shè)置為 net5.0 也可以的,可能微軟是想特別表示只能運(yùn)行在 windows 上吧
于是嘗試把項(xiàng)目設(shè)置為 net5.0,但是 Azure 上的持續(xù)集成失敗了,test 的項(xiàng)目需要是 net5.0-windows,看起來是可以檢測目標(biāo)平臺(tái)的,索性直接都改成了 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
總結(jié)
以上是生活随笔為你收集整理的WPF 从 .net core 3.1 到 .net 5.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你没有看错,爬网页数据,C# 也可以像
- 下一篇: .NET 5 的 Target Fram