Community.Toolkit.MVVM在.NET Maui中无法正常工作,求排查方案
.NET Maui + CommunityToolkit.Mvvm 源代码生成器异常排查
核心问题分析
你的代码中,test2字段上的[NotifyPropertyChangedFor(nameof(Test))]特性引用了由test字段的[ObservableProperty]生成的Test属性。源代码生成器在处理顺序或解析逻辑上出现识别问题,导致异常。
解决方案
1. 调整特性引用目标为原始字段名
将特性中的nameof(Test)改为nameof(test),工具包会自动关联到生成的Test属性,避免生成器解析时的顺序问题:
[ObservableProperty] [NotifyPropertyChangedFor(nameof(test))] public int test2;
2. 升级CommunityToolkit.Mvvm版本
低版本工具包可能存在生成器兼容性问题,建议升级到最新稳定版:
- 打开NuGet包管理器,搜索
CommunityToolkit.Mvvm并更新 - 更新完成后清理并重建项目
3. 清理项目缓存并重建
生成器可能残留旧缓存导致异常,执行以下操作:
- 右键项目 → 清理
- 右键项目 → 生成
- 重启IDE确保缓存完全清除
必要验证项
- 确认类已标记为
partial(你的代码已满足,这是生成器工作的前提) - 检查项目目标框架为.NET 6及以上,与Maui和工具包版本兼容
内容的提问来源于stack exchange,提问作者Larry Gragg
相关产品推荐
相关产品推荐

