VS2022升级.Net7导致原来的项目编译失败,.NET SDK 不支持将“更新的版本”作为目标。 将“更旧的版本”或更低版本作为目标。4.6.1不可用,net6可用netcore可用
注:重点在 问题3(可找了老半天),可能是vs的bug,更换目标框架没有引入对应的内容。也可能是之前的开发项目的手动添加的。
重新安装系统后,新装的vs2022打开项目,原来.netframework4.5 .netframework4不在支持。
问题1:.NET SDK 不支持将“更新的版本”作为目标。 将“更旧的版本”或更低版本作为目标。
解决1:安装net5 sdk,或者net 6sdk,或者net7 sdk
问题2:
解决2:准备想安装.net4.5,结果版本低了安装不了。于是修改成了。.net4.6.1。
问题3:
出现了一个类在net6可用,netcore3.1可用,net4.6.1不可用。
过程3:
从微软官方文档可以看出。在netframework转core的过程中,BorderSidesEditor在dll的位置变更了。
netframework中BorderSidesEditor在System.Design.dll
netcore3/5/6/7中BorderSidesEditor在System.Windows.Forms.Design.dll中
如果是转成了net5/6/7那么项目中会有分析器,自动处理。
如果是转成了netframework则没有分析器。需要手动引入dll。那么问题又来了,我手动引入时,并没有找到相应的dll。最后各种找,在项目文件中看到有指定外部引用
解决3:.csproj文件中的引入没有更换
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!