winform迁移:从.net framework 到 .net9

闲话不说。我们走新建项目替换文件的方式,这样不用纠结项目文件的内容哪些有用、哪些没用、怎么修改。

一、建立同名项目

新项目没什么多余的东西,就几个关键文件:

  • 项目名.csproj 项目文件,拿这个替换掉原来的
  • Form1三个文件,程序主窗体,当然你可能改了很多
  • Program.cs,程序启动点

二、替换掉项目文件.csproj

替换掉以后目录中原来的文件会自动进入项目,如果有添加的链接文件需要重新添加一次。自己添加的nuget包需要重新添加一次。

其余属性根据需要修改。比如面向的windows版本。

三、删掉多余的配置性文件

由于项目组织方式不太一样,需要删掉一些文件:

  • app.config 用不用不太确定,似乎已经被废弃
  • Properties\AssemblyInfo.cs 删掉,不删掉会报错,配置信息重复
  • Properties\app.manifest 用不用不太确定,我删掉了程序仍然正常运行

四、处理代码不兼容的部分

由于升了C#版本,也换了类库,有些语法不兼容,有些类没有了,需要逐个修改。

总体而言,问题不大。

五、行为差异

这就要程序跑起来看了,我的程序用着挺好,点关闭就抛出异常。


(这里是文档结束)

相关推荐
何解忧11 小时前
.NET 中的新增功能系列文章—— .NET MAUI 中的新增功能
.net
仙宇觉尘15 小时前
一款基于 .NET 开源美观、功能丰富的串口调试工具
开源·.net
仙宇觉尘1 天前
记一次 .NET 某中医药附属医院门诊系统 崩溃分析
数据库·oracle·.net
丙氨酸長鏈1 天前
关于.net发布单体exe程序无法打开问题详解
.net
鲜花飘飘扬1 天前
C# 与 .NET 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)
开发语言·c#·.net
风样滴男人哟1 天前
基于 .NET 开源、功能齐全的分布式作业调度系统
分布式·开源·.net
心念枕惊2 天前
OpenClaw.NET 重大更新:Goal 机制登场,让 AI Agent 不再“半途而废“
.net
geovindu2 天前
CSharp:Chain of Responsibility Pattern
开发语言·后端·设计模式·c#·.net·责任链模式·行为模式
TDengine (老段)2 天前
TDengine Node.js 与 C# 连接器 — Web 服务与 .NET 集成
大数据·数据库·node.js·c#·.net·时序数据库·tdengine