C# WPF实战项目升级了

概述

     之前用Caliburn.Micro搭建的WPF实战项目,CM框架选用了 3.0.3,实际上CM框架目前最新版已经到4.0。173了,所有很有必须升级一下项目了. 本来打算把平台框架也直接升级到.NET 6 的,但是项目里面很多库不支持最新的平台版本,所以主要针对CM框架进行升级.

升级步骤

step1 :将packages.config迁移到 PackageReference(非必须)

这样做的好处包括精简内容与以及不再需要额外的packages.config文件

6270c60234a95b777d9e895b088f0d6d.png

step2 :在弹出的对话框会列出顶级的依赖项和传递的依赖项,还会询问是否将后者升级到顶级依赖项,这个项目无需做任何改变,直接点击“确定”:

d4c99b2c4e1f37a09dabe3768f89a17c.png

step3:打开Caburn.Micro.Hello.csproj,会发现少了些东西,但多了下面这段,这段就是经过精简的Nuget引用,在“管理Nuget程序包”的页面也可以看到已安装的Nuget变少了:

<ItemGroup><PackageReference Include="Caliburn.Micro"><Version>3.0.3</Version></PackageReference><PackageReference Include="Common.Logging.Log4Net1213"><Version>3.4.1</Version></PackageReference><PackageReference Include="EmguCV"><Version>3.1.0.1</Version></PackageReference><PackageReference Include="Extended.Wpf.Toolkit"><Version>4.2.0</Version></PackageReference><PackageReference Include="log4net"><Version>2.0.3</Version></PackageReference><PackageReference Include="PropertyChanged.Fody"><Version>3.1.3</Version></PackageReference></ItemGroup>

2ad37c3bb83ce22fafc1f3c4368aafc7.png

step4:在更新里面全选需要升级的项目,点击更新

b468ede0f43276adf0d40bd4591ddd12.png

step5:升级完,运行项目,会看到有报错,这些主要是CM框架新版本的变更引起的,根据需求修改代码:

397d850876c85e796eb6df8de750eb24.png

CM4.0主要变更

-. 支持的其他平台

.NET Core 3.1 WPF  、.NET 5 WPF

-. 已删除对以下平台的支持。

Silverlight 5、Windows Phone 8(Silverlight)、Windows Phone 8(Windows运行时)、Windows 8.1、.NET 4.0用于WPF。

支持的WPF的.NET最低版本是4.6.1,所有这些平台在3.x版本中仍然受支持.

-. 重大变化,以下是4.0.0版本中包含的更改。

目标平台已更改,以支持新.NET平台版本。这些措施包括:

事件聚合器

事件聚合器有一些重大的突破性更改,将其引入异步实现方法,这是4.0.0的主要原因。完整的更改可在事件聚合器迁移文档中找到。

屏幕和视图模型生命周期

所有支持视图模型生命周期的接口,如IActivate和IGuardClose,现在都支持异步实现。

升级后的项目源码下载

百度网盘下载链接:https://pan.baidu.com/s/1xEW5Hg82wGqwaKuVODUQ0A

提取码:xs4t

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

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

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

相关文章

ArcGIS Engine开发模板及C#代码

目 录 1. 模板 2. 代码 1. 模板 以下为AE开发软件自带的模板及代码,开发工具为VS 2012+ArcGIS Engine 10.2。 2. 代码 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; us…

高级iOS面试题

非标准答案 2 1: 类方法是可以直接通过类名直接调用&#xff0c;无需进行实例化对象。类方法是以开头2. 实例方法&#xff0c;需要显示实例化对象&#xff0c;为对象分配堆栈空间&#xff0c;并通过对象实例调用实例方法3. RUNTIME 是在程序运行过程动态对实例对象进行操作&…

dotTrace 6.1帮你理解SQL查询如何影响应用性能

dotTrace是JetBrains公司旗下的一款.NET应用程序性能瓶颈检测工具。该工具是ReSharper旗舰版的一部分&#xff0c;也可以单独安装。近日&#xff0c;dotTrace 6.1发布&#xff0c;主要增加了人们期待已久的SQL查询性能分析&#xff0c;开发人员可以通过它获得特定查询的执行时间…

mysql申请审核系统_Mysql审核工具archery

Mysql审核工具archery系统&#xff1a;Centos6.8ip:192.168.122.150安装Python和virtualenv编译安装[rootwww ~]# yum install wget gcc make zlib-devel openssl openssl-devel[rootwww src]# wget "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz"[…

iOS——Core Animation 知识摘抄(二)

阴影 主要是shadowOpacity 、shadowColor、shadowOffset和shadowRadius四个属性 shadowPath属性 我们已经知道图层阴影并不总是方的&#xff0c;而是从图层内容的形状继承而来。这看上去不错&#xff0c;但是实时计算阴影也是一个非常消耗资源的&#xff0c;尤其是图层有多个子…

Blazor University (11)组件 — 替换子组件的属性

原文链接&#xff1a;https://blazor-university.com/components/replacing-attributes-on-child-components/替换子组件的属性源代码[1]到目前为止&#xff0c;我们已经了解了如何创建代码生成的属性[2]&#xff0c;以及如何捕获意外参数[3]。除了这两种技术之外&#xff0c;B…

HTTPS实现原理

HTTPS实现原理 HTTPS&#xff08;全称&#xff1a;Hypertext Transfer Protocol over Secure Socket Layer&#xff09;&#xff0c;是以安全为目标的HTTP通道&#xff0c;简单讲是HTTP的安全版。即HTTP下加入SSL层&#xff0c;HTTPS的安全基础是SSL。其所用的端口号是443。…

C#使用ServiceController控制windows服务

C#中,使用ServiceController类控制windows服务,使用之前要先添加引用:System.ServiceProcess,然后在命名空间中引用:using System.ServiceProcess。下面举例获取本机的所有已安装的Windows服务和应用,然后查找某一应用活服务是否已经安装。 代码: using System; using S…

电信aep平台是什么意思_江苏天鼎证券:股票平台跳水是什么意思?股票为什么会跳水?...

相信很多新手在刚玩股票的时候会遇到很多的专业的基础知识不能理解&#xff0c;比如什么是跳水?为什么会跳水呢?接下来就为大家详细来说股票的跳水以及为何会跳水。一、股票平台跳水是什么意思?股票跳水通常指股价在较短的时间内&#xff0c;出现从高位下降到低位的现象。出…

mysql mgr简介_MySQL Group Replication(MGR)使用简介与注意事项

MySQL Group Replication(MGR)是MySQL官方在5.7.17版本引进的一个数据库高可用与高扩展的解决方案&#xff0c;以插件形式提供。MGR基于分布式paxos协议&#xff0c;实现组复制&#xff0c;保证数据一致性。内置故障检测和自动选主功能&#xff0c;只要不是集群中的大多数节点都…

python beautifulsoup4 table tr_python BeautifulSoup解析表

牧羊人nacy这是通用的工作示例(表数据)标记。它返回带有内部列的行的列表。第一行仅接受一个(表头/数据)。def tableDataText(table): rows [] trs table.find_all(tr) headerow [td.get_text(stripTrue) for td in trs[0].find_all(th)] # header row i…

clob字段怎么导出_Oracle 11g及12c+版本下为啥有些表不能exp导出?

【引言】今天有同事问了一个问题&#xff0c;在Oracle 11g下&#xff0c;为啥exp方式导出一个用户的数据表&#xff0c;在imp后却发现有些表并没有迁移过来。经查阅官方文档&#xff0c;发现和Oracle11g及12c 版本相对于10g&#xff0c;有一个新特性deferred_segment_creation(…

C# 读写二进制文件

读写二进制文件的一种选择是直接使用流类型&#xff1b;在这种情况下&#xff0c;最好使用字节数组执行读写操作。另一个选择是使用为这个场景定义的读取器和写入器&#xff1a;BinaryReader和BinaryWriter。使用它们的方式类似于使用 StreamReader 和 StreamWriter&#xff0c…

推荐系统(1)--splitting approaches for context-aware recommendation

开篇语&#xff1a; 大一的时候。在实验室老师和师兄的带领下。我開始接触推荐系统。时光匆匆&#xff0c;转眼已是大三&#xff0c;因为大三课甚是少。于是便有了时间将自己所学的东西做下总结。第一篇博客。献给过去三年里带我飞的老师和师兄们&#xff0c;感谢你们的无私帮助…

python 百度云文字识别 proxy_python使用百度文字识别功能方法详解

介绍python使用百度智能去的文字识别功能&#xff0c;可以识别截图中的文&#xff0c;登陆路验证码等等。&#xff0c; 登陆百度智能云&#xff0c;选择产品服务。选择“人工智能”---文字识别。点击创建应用。 如图下面有关于“文字识别”的各类信息&#xff0c;如通用文字识别…

Android性能优化典范(转)

本文转自&#xff1a;http://hukai.me/android-performance-patterns/ 2015新年伊始&#xff0c;Google发布了关于Android性能优化典范的专题&#xff0c;一共16个短视频&#xff0c;每个3-5分钟&#xff0c;帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Andr…

Xamarin效果第二十一篇之GIS中可扩展浮动操作按钮

在前面文章中简单玩了玩GIS的基本操作、Mark相关、AR、测距和加载三维白模,今天再次对操作栏又一次修改了,直接放到了右下角可伸缩效果;啥也不说了都在效果里:添加支持圆角 ContentView:Xamarin.Forms.PancakeView再来Xamarin 社区工具包:Xamarin.CommunityToolkit再来看看最终…

【新版发布】ComponentOne 新增 .NET 6 和 Blazor 平台控件支持

ComponentOne Enterprise是葡萄城推出的一款内置 300 多种开发控件的 .NET控件集&#xff0c;可满足 WinForm、WPF、Blazor、ASP.NET MVC 等平台下的系统开发需求&#xff0c;提供表格数据管理、数据可视化、报表和文档等功能&#xff0c;被开发人员誉为“.NET开发的‘瑞士军刀…

Ruby如何成长成高性能系统构架

为什么80%的码农都做不了架构师&#xff1f;>>> 结束了一份Ruby为主的工作,想把个方面总结一下,这篇是关于系统性能方面的.以下数据都是简单回忆的数据,加之企业保密数据的需要,和精确数有些出入,仅供参考. 说起Ruby的性能,无论从官方到社区,都公认是劣于其它的框架…

ArcGIS 10.2数字化线状要素时自动拼接成一条线

&#xff08;1&#xff09;在已有线的基础上自动连接成一条线 数字化时&#xff0c;经常会碰到这种情况&#xff0c;不小心双击了&#xff0c;或者画到一半饿了&#xff0c;双击完成去吃饭了&#xff0c;回来继续画&#xff0c;该怎样去做呢&#xff1f; 一开始一直和捕捉和经典…