1

我正在尝试使用Fody MethodDecorator在多个项目中记录方法进入/退出。我在 Visual Studio 中创建了一个项目并实现了IMethodDecorator接口,如Fody MethodDecorator 项目中的 ReadMe.md 中所述

Fody MethodDecorator 在我实现了IMethodDecorator接口的一个项目中运行良好,我可以记录方法的进入/退出。但是,当我尝试通过添加对我的第一个项目的引用来记录其他项目中的方法进入/退出时,任何其他项目都没有记录。

我创建了一个带有最小工作示例的 github 存储库,只是为了显示问题,单击此处获取链接。

还有其他人遇到过同样的问题,比如 3 年前的这篇文章。但是该帖子中的解决方案是将 Fody 和 MethodDecorator nuget 包添加到所有项目中。我已经将两个 nuget 包添加到所有项目中。我还将FodyWeavers.xml添加到所有项目中。

如果您想知道我的代码是什么样的,只需查看 git repo。我还需要做些什么来记录其他项目中的方法进入/退出工作吗?

我想简单地添加对我的第一个项目的引用并重用第一个项目中的方法装饰器。我正在使用 .Net 4.8、Fody 6.5.3 和 MethodDecorator.Fody 1.1.1。

编辑 如果您下载存储库并收到错误:在“$(MsBuildMajorVersion)”上尝试进行数字比较,评估结果...这显然是由于 Visual Studio 中的错误,可以通过重新启动来克服。

4

1 回答 1

-1

并不是这个问题的真正答案,但我最终切换到MethodBoundaryAspect.Fody。它是一个 nuget 包,与MethodDecorator.Fody执行相同的操作,并且具有您以几乎相同的方式实现的接口。

通过引用我仅在其中一个项目中创建的属性,我让 MethodBoundaryAspect.Fody 在多个项目中工作。您仍然必须添加 nuget 包MethodBoundaryAspect.FodyFody,并且还将 FodyWeavers.xml 文件添加到每个项目中。

于 2021-10-20T11:43:22.680 回答