概述
之前用Caliburn.Micro搭建的WPF实战项目,CM框架选用了 3.0.3,实际上CM框架目前最新版已经到4.0。173了,所有很有必须升级一下项目了. 本来打算把平台框架也直接升级到.NET 6 的,但是项目里面很多库不支持最新的平台版本,所以主要针对CM框架进行升级.
升级步骤
step1 :将packages.config迁移到 PackageReference(非必须)
这样做的好处包括精简内容与以及不再需要额外的packages.config文件
step2 :在弹出的对话框会列出顶级的依赖项和传递的依赖项,还会询问是否将后者升级到顶级依赖项,这个项目无需做任何改变,直接点击“确定”:
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>
step4:在更新里面全选需要升级的项目,点击更新
step5:升级完,运行项目,会看到有报错,这些主要是CM框架新版本的变更引起的,根据需求修改代码:
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编程大全