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

项目文件更新

  1. 首先项目文件中的 SDK 发生了变化,原来是 Microsoft.NET.Sdk.WindowsDesktop 更新后变为 Microsoft.NET.Sdk,和普通的 Console 应用以及类库应用的 SDK 保持一致

  2. 项目目标框架修改,从原来的 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最小堆最大堆基础概念与经典题目(Leetcode题解-Python语言)

堆是一种特别的完全二叉树,符合以下两个定义即为堆: 1、完全二叉树; 2、每一个节点的值都必须大于等于或者小于等于其孩子节点的值。若是大于等于,即为最大堆,若是小于等于,即为最小堆。显然,…

进击吧! Blazor !第三期 信息交互

Blazor 是一个 Web UI 框架,可通过 WebAssembly 在任意浏览器中运行 .Net 。Blazor 旨在简化快速的单页面 .Net 浏览器应用的构建过程,它虽然使用了诸如 CSS 和 HTML 之类的 Web 技术,但它使用 C#语言和 Razor 语法代替 JavaScrip…

leetcode718. 最长重复子数组

一:题目 二:上码 class Solution { public:/**思路:1.分析题意:1 2 3 6 7 41 2 6 7 4 3这里我们先遇到的1 2 但后来我们又遇见了6 7 4 那么我们的要的答案就是动态变化的2.动态规划五步走1>:确定dp数组以及下标的含义dp[i][j] 表示 以下标i-1结尾的A数组和以下标…

二叉树序列化与反序列化相关题目(Leetcode题解-Python语言)

297. 二叉树的序列化与反序列化(剑指 Offer 37. 序列化二叉树)(剑指 Offer II 048. 序列化与反序列化二叉树) class Codec:def serialize(self, root):"""Encodes a tree to a single string.:type root: TreeNod…

.NET 5 的 Target Framework 详解[上篇]

❝作者:.NET Team翻译:精致码农-王亮原文:http://dwz.win/Q4v❞我们希望极大地简化开发人员必须在项目文件和 NuGet 包中使用的「TFM」 (Target Framework Name, 目标框架名称)。这包括合并 .NET 5 和 .NET Standard 的概念,同时仍…

leetcode1143. 最长公共子序列

一:题目 二:上码 class Solution { public:/**思路:1.分析题意这个子序列就是我们是可以不连续的字符组成的2.动态规划五步走1>:确定dp数组的含义以及下标的含义dp[i][j] 表示的是text1中[0,i-1]字符范围,text2中[0,j-1]的字符范围 的最长公共子序列这里我们取i…

爬楼梯与路径类题目记忆化递归与动态规划双解法(Leetcode题解-Python语言)

70. 爬楼梯(剑指 Offer 10- II. 青蛙跳台阶问题) 递归(英语:Recursion),是指在函数的定义中使用函数自身的方法。有意义的递归通常会把问题分解成规模缩小的同类子问题,当子问题缩写到寻常的时…

JAVA 15发布,越来越像C# ?9月排名,C#增幅狠甩JAVA

2016年.NET Core首个正式版本问世,如今已发布到了.NET Core3.1,再有2个月.NET5也将如约而至,跨平台开发已经快5年。微软 .NET 程序管理总监 Scott 表示,.NET 5 是 .NET Framework 和 .NET Core 的未来,最终将成为一个统…

买卖股票类问题动态规划解法(Leetcode题解-Python语言)

在 Leetcode 中,关于买卖股票的问题共有6道,而这些题目是可以用相同的思维进行求解的,强烈推荐这篇总结,写得非常到位。 股票类问题的动态规划分三步走,1、首先明确方程的含义, T[i][k][0]:表…

leetcode1035. 不相交的线

一:题目 二:上码 class Solution { public:/**思路:1.分析题意:这里的我们要求解的是最大值,那么我们的求解过程肯定是动态变化的,举个例子2 5 1 2 510 5 2 1 5 2 如果我们一开始就让nums1[1] 5何 nums2[4] 5 相连的话 那么我们肯定不会求解出最大值那么题目中的说的直线不…

几个超级实用但很少人知道的 VS 技巧[更新]

大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问&#xf…

一般动态规划问题合集(Leetcode题解-Python语言)

118. 杨辉三角 class Solution:def generate(self, numRows: int) -> List[List[int]]:dp [[0] * i for i in range(1, numRows1)]for i in range(numRows):for j in range(len(dp[i])):# 左右两边是1,中间部分就是其上方两个数之和if j 0 or j i:dp[i][j] …

leetcode53. 最大子数组和(动态规划)

一:题目 二:上码 class Solution { public:int maxSubArray(vector<int>& nums) {/**动态规划:1>:确定dp数组的含义以及下标的含义dp[j]表示的是下标j之前的最大子数组和 这个就是还没有包括nums[j] 2>:确定dp数组的状态转移公式dp[j] max (dp[j-1]nums[j],n…

矩阵模拟问题合集(Leetcode题解-Python语言)

54. 螺旋矩阵&#xff08;剑指 Offer 29. 顺时针打印矩阵&#xff09; class Solution:def spiralOrder(self, matrix: List[List[int]]) -> List[int]:ans []count 0m, n len(matrix), len(matrix[0])length m * ndirections [(0, 1), (1, 0), (0, -1), (-1, 0)]x y…

基于REACT和.NET CORE集成WINDOWS身份验证

有很多方法可以向您的应用程序添加身份验证。虽然OAuth是最常见的一种&#xff0c;但这并不是您唯一的选择。今天&#xff0c;我将向您展示如何通过React和.NET Core简单地完成Windows身份验证。探索我们的选择在深入探讨之前&#xff0c;让我们简要讨论一些可用的其他选项。了…

.NET Core加解密实战系列之——使用BouncyCastle制作p12(.pfx)数字证书

简介加解密现状&#xff0c;编写此系列文章的背景&#xff1a;需要考虑系统环境兼容性问题&#xff08;Linux、Windows&#xff09;语言互通问题&#xff08;如C#、Java等&#xff09;&#xff08;加解密本质上没有语言之分&#xff0c;所以原则上不存在互通性问题&#xff09;…

快速幂算法相关题目(Leetcode题解-Python语言)

50. Pow(x, n) 快速幂算法的目的&#xff0c;就是快速计算 x 的 n 次方。基本思路是把 n 视作二进制数&#xff0c;则 n 可以被分解为多个 2 的幂次方之和&#xff0c;如 12 对应 1100 等于 0∗200∗211∗221∗230*{2^0} 0*{2^1} 1*{2^2} 1*{2^3}0∗200∗211∗221∗23&…

leetcode115. 不同的子序列

一&#xff1a;题目 二:代码 class Solution { public:/**思路:动规分析走一波1>:确定dp数组以及下标的含义dp[i][j] 表示的是 以下标i-1结尾的子序列s中出现以j-1结尾的子序列t的 个数2>:确定dp数组的状态递推公式这里考虑两种状况 一种就是 s[i-1] s[j-1] 一种就是字…

栈的基础概念与经典题目(Leetcode题解-Python语言)

栈是先入后出&#xff08;后入先出&#xff09;的数据结构&#xff0c;常用操作就 push 和 pop&#xff0c;Python中用列表实现即可&#xff0c;基本概念可以看Leetbook相关章节。 普通栈 232. 用栈实现队列 class MyQueue:def __init__(self):self.stack1 []self.stack2 …

ASP.NET Core 3.x启动时运行异步任务(二)

这一篇是接着前一篇在写的。如果没有看过前一篇文章&#xff0c;建议先去看一下前一篇&#xff0c;这儿是传送门一、前言前一篇文章&#xff0c;我们从应用启动时异步运行任务开始&#xff0c;说到了必要性&#xff0c;也说到了几种解决方法&#xff0c;及各自的优缺点。最后&a…