使用 PropertyChanged.Fody 和 Prism.Core 导致 C# 项目热重载失效.

今日在写一个 C# WPF 项目时发现 c# 代码的热重载无法正常工作,并弹出以下内容:

未能发出模块"项目名称":调试过程中不允许更改程序集引用的版本:"System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"版本改为9.0.0.0"

image

 

经查当使用 PropertyChanged.Fody 并且 ViewModel 从 Prism.Mvvm.BindableBase 继承时就会出现该问题.

解决方法,要么不使用 PropertyChanged.Fody 要么不使用 Prism.Mvvm.BindableBase(自己实现 INotifyPropertyChanged 接口).

至于这个问题是 PropertyChanged.Fody 的锅还是 Prism 的锅,尚未查明.

 

2025年09月13日更新:

又发现了另外一个热重载失效的案例,这次的信息是:

未能发出模块"项目名称":调试过程中不允许更改程序集引用的版本 netstandard, version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 版本改为 "2.1.0.0"

最终通过将使用 netstandard2.0 的项目改为使用 netstandard2.1 后解决.

 

本文发布于谢江的博客 https://www.cnblogs.com/8u7tgyjire7890/p/19075338

 

posted @ 2025-09-05 14:41  xiejiang  阅读(19)  评论(0)    收藏  举报