首页 > 解决方案 > Prism 模板包:Xamarin 表单 - Fody 异常

问题描述

我从 Mac 上的 Visual Studio 上的 Prism 模板包创建了一个 xamarin 表单解决方案。我得到了 Fody 异常。

错误:Fody:无法在类型“sdfdf.App”上注入 EventInvoker 方法。您可能是从基类继承的并且没有正确设置“EventInvokerNames”,或者您正在使用显式的 PropertyChanged 事件并且事件字段对此实例不可见。更正“EventInvokerNames”或在此类上实现您自己的 EventInvoker。如果您想禁止在 sdfdf.App 上放置一个 [DoNotNotifyAttribute]。(sdfdf)

由于 fody weaver,我无法编译任何项目。 福迪韦弗

<?xml version="1.0" encoding="utf-8"?>
<Weavers>
    <PropertyChanged EventInvokerNames="RaisePropertyChanged" />
    <RealmWeaver />
</Weavers>

如果我PropertyChanged从 fody weaver 中删除事件,应用程序工作正常,但我需要它用于应用程序。有谁知道如何解决这个问题?

更新

根据建议,我更新了 body weaver 并得到了以下错误。 福迪韦弗

<?xml version="1.0" encoding="utf-8"?>
<Weavers>
    <PropertyChanged/>
    <RealmWeaver />
</Weavers>
Error: Fody: An unhandled exception occurred: Exception: Could not resolve type with token 01000041 (from typeref, class/assembly

Fody.TypeSystem, FodyHelpers, Version=3.1.3.0, Culture=neutral, PublicKeyToken=1ca091877d12ca03) 类型:System.TypeLoadException StackTrace:在 C:\projects\propertychanged\PropertyChanged.Fody\EventArgsCacheInjector 中的 ModuleWeaver.InitEventArgsCache () [0x00000]。 c:\projects\propertychanged\PropertyChanged.Fody\ModuleWeaver.cs:5 at ModuleWeaver.Execute () [0x00084] 在
(包装器动态方法) System.Object.lambda_method(System.Runtime.CompilerServices.Closure,对象)在 InnerWeaver.ExecuteWeavers () [0x00087] 在 C:\projects\fody\FodyIsolated\InnerWeaver.cs:200 在 InnerWeaver.Execute () [0x0004d] 在 C:\projects\fody\FodyIsolated\InnerWeaver.cs:102来源:PropertyChanged.Fody 目标站点:Void InitEventArgsCache()

标签: xamarinxamarin.formsprism

解决方案


使用 Fodyweavers,您只需添加以下内容:

<Weavers>
<PropertyChanged/>
</Weavers>

文档:

https://github.com/Fody/PropertyChanged


推荐阅读