打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C# WPF实战项目升级了

概述

     之前用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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
WPF dotnet core 的 Blend SDK Behaviors 库
WinUI 3 试玩报告
.Net Core vs .Net Framework 如何为一个应用程序选择一个运行时
C# NuGet打包和离线安装
Windows Server 2016 安装 Docker的过程及遇到问题
WPF: Is there a built-in TreeGrid / TreeListView?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服