在使用PropertyChanged.Fody构建应用程序时出错
我在WPF(属性交换)中有非常简单的项目 - 一个视图,一个视图模型和一个模型.在此项目中,我使用Package PropertyChanged.Fody.当我想在10秒后构建这个项目时,我会收到两个错误消息: 无法将" obj \ debug \ propertychanged.exe"复制到" bin \ debug \ propertychanged.exe". 无法将文件" obj \ debug \ propertychanged.exe"复制为" bin \ debug \ propertychanged.exe".该过程无法访问文件'bin \ debug \ propertychanged.exe',因为它是由另一个过程使用的. 唯一的解决方案是: 卸载项目 删除文件夹bin和obj 重新加载项目 这是非常不舒服的 解决方案 有时Visual Studio Hosting Process会导致麻烦.转到项目Properties > Debu
2 2024-01-06
编程技术问答社区
根据ViewModel属性改变画笔
我有一个具有CarViewModel + view(UserControl)的应用程序. 我要实现的是在绑定的datacontext Car.Status更改时更改刷子的样式. 我发现了如何更改刷子(在视图后面的代码中): private void LoadThemeResources(bool isPrepareMode) { if (isPrepareMode) { Uri themeUri = new Uri(@"/../Resources/MyBrushes.Light.xaml", UriKind.Relative); ResourceDictionary themeDictionary = Application.LoadComponent(themeUri) as ResourceDictionary; this.Resources.MergedDictionaries.Add(themeDic
10 2023-04-07
编程技术问答社区
PrivateAssets='All'是什么意思?
当我构建我的 .NET Core (NETStandard v2.0) 项目时,我收到以下警告: ViewModels:[FodyPackageReference] Fody:PropertyChanged.Fody 的包参考不包含 PrivateAssets='All' 警告参考 PropertyChanged.Fody NuGet 包. 虽然警告不会停止构建,但我想解决警告.但是,我不明白它试图传达什么. 解决方案 PrivateAssets 是用于控制依赖资产的元数据标签. 您可能纯粹将依赖项用作开发工具,并且可能不想将其暴露给将使用您的包的项目.在这种情况下,您可以使用 PrivateAssets 元数据来控制这种行为. 项目文件中的包引用(PackageReference) 在您的情况下,除非您想将 PropertyChanged.Fody 公开给消费者(即您要发布一个库),否则在您的 .csproj 文件中将 PrivateAsse
106 2022-09-15
编程技术问答社区
Fody.PropertyChanged在继承的属性上不启动
我有一个 Control,它继承自 WinForms 中的 NumericUpDown. 我想处理对 NumericUpDown 的 DecimalPlaces-Property 的更改,因此我都尝试过声明一个 void OnDecimalPlacesChanged() { MessageBox.Show("Moeeep"); } 并且还手动订阅ctor 中的 PropertyChanged-event .当我更新 DecimalPlaces 时它似乎没有触发,我不知道为什么. 解决方案 由于 Control 没有实现 INotifyPropertyChanged,只有你的类实现了.因此,当 DecimalPlaces 更改时, Control 不会引发任何事件.没有任何框架可以将其注入到他们的代码中. 目前,最好的办法是覆盖 UpdateEditText 方法.当 DecimalPlaces 属性改变时调用它.请注意,这当然不是调用该方法的唯一原因,因
304 2022-08-14
编程技术问答社区
Fody, propertychanged and setting same value?
有什么方法可以配置 fody 不检查设置为属性的值 - 我遇到值相同并且我希望设置属性的情况,因为我在属性设置器中有未调用的附加逻辑. 解决方案 这显然是在最初的问题之后的几年,但供将来参考: 这确实可以通过修改FodyWeavers.xml文件中的选项来实现. 如 PropertyChanged.Fody wiki 上所示,其中一个选项被称为CheckForEquality 并且可以设置为 false(默认为 true).这将防止 Fody 注入相等检查代码.FodyWeavers.xml 文件现在可能如下所示: 如评论中所述,也可以通过 DoNotCheckEquality 属性为每个属性执行此操作,例如 [ImplementPropertyCh
110 2022-08-14
编程技术问答社区
Fody仅在MSBuild 16及以上版本中支持。当前版本:15
Visual Studio 2017 告诉我今天早上升级到 Fody 版本 5.我接受并更新了 Fody 和 PropertyChanged.Fody 的 NuGet 包. 现在,我的项目/解决方案将不再构建. 错误是: “Fody 仅支持 MSBuild 16 及更高版本.当前版本:15." 我尝试卸载,关闭VS,然后重新安装. 解决方案 请将 Fody 降级到 4.2.1 版本.
1720 2022-08-14
编程技术问答社区