当前位置: 首页 > news >正文

WPF 将NET Framework项目升级到SDK风格的项目

为什么要升级

最近在改造一个WPF写的.net framework 4.6.2版本的老项目,因为写通知属性写烦了,想着CommunityToolkit.Mvvm框架的生成器功能,少写点代码。谁知用上之后,发现并不能使用,编译项目时,输出控制台给我输出了这样一句话:

1>C:\csharpcodes\WpfApp1\packages\CommunityToolkit.Mvvm.8.4.0\build\CommunityToolkit.Mvvm.SourceGenerators.targets(144,5): warning MVVMTKCFG0002: The MVVM Toolkit source generators might not be loaded correctly, as the current project is using the packages.config setup to restore NuGet packages. Source generators require PackageReference to be used (either in a legacy-style or SDK-style .csproj project, both are supported as long as PackageReference is used).

它的意思是需要sdk风格的项目才能让CommunityToolkit.Mvvm的生成器功能起作用。
看来得把项目升级成sdk风格了!!!

如何升级

网上找了这个工具可以帮我我们升级-- upgrade assistant
不爱敲命令的我,在visualstudio扩展工具中,搜索到了下面这个,可以化工具:
image
并且由于我是用的是vs2026。这个工具提示说,从17.14.17版本之后就内置到visual studio中了。
image
还告诉我们如何开启这个功能。
image

开始升级

在要升级的项目上,右键--升级--将项目转换为sdk样式
image

接下来就是等待升级完成,双击项目就可以看到项目已经变成了sdk风格了。

还有一个小插曲

当我在私有字段上,使用生成器特性,结果编译器提示错误:
image

The source generator features from the MVVM Toolkit require consuming projects to set the C# language version to at least C# 8.0

如何修复?双击项目,在项目文件中添加LangVersion节点,指定C#语言版本。

<LangVersion>8.0</LangVersion>

或者

<LangVersion>default</LangVersion>

为什么可以写成Default?请看.net版本和c#语言版本对照表

完毕!!!

http://www.jsqmd.com/news/425453/

相关文章:

  • 华为OD机考双机位C卷 - 矩形绘制 (Java Python JS GO C++ C)
  • 基于微信小程序的健康指导平台小程序_h8xdm24b
  • 提升汽车软件开发效率:CAN信号处理模块的自动对齐技术
  • 普通数组-----缺失的第一个正数
  • java面试速记-linux知识点
  • AI应用架构师必看:虚拟教育系统中的计算机视觉架构
  • python: Chain of Responsibility Pattern
  • 题解:P15546 「Stoi2037」七里香
  • 每日督促
  • 随笔 7
  • 2026.3.1省选模拟赛
  • Seal Plus 2.2.0 | 开源视频下载器,支持1000+视频平台
  • 彼得林奇的“质量成长“vs“价值陷阱“
  • 多智能体系统如何评估公司的长期盈利能力
  • Musify 9.8.4 | 纯净无广免费音乐软件, 畅听国内外歌曲, 需要特殊网络
  • 虚拟展厅AI训练数据从哪来?架构师设计高效数据标注平台实践
  • 全面了解:提示工程师职业认证体系,提示工程架构师的职业指南书
  • AI原生应用领域联邦学习的性能评估指标
  • PowerShell 新建 SharePoint Online 列表
  • 基于springboot框架的火车票购票系统_33bx0nk0
  • 基于springboot框架的航班查询与推荐系统飞机订票系统设计与开发_d1b11p63
  • 有源电力滤波器Matlab仿真之旅
  • [vue3入门]HTML Learn Data Day 7
  • 重庆有哪些招聘平台?2026本地求职招工平台全攻略
  • 独立主格
  • ClawCon 2026:AI智能体从虚拟走向物理的里程碑
  • [vue3 入门]HTML Learn Data Day 7
  • Ubuntu server 24.04 LTS 初始配置记录(二、配置远程登录)
  • 超音速原理:从激波到尖端科技
  • 为什么谁先发送低电平谁就掌握对总线的控制权