【问题标题】:How to reference a Fody MethodDecorator in another project?如何在另一个项目中引用 Fody MethodDecorator?
【发布时间】:2021-10-16 18:52:00
【问题描述】:

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

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

I've created a github repository with a minimal working example just to show the issue, click here for link.

还有其他人遇到了同样的问题,like this post from 3 yeas ago。但是该帖子中的解决方案是将 Fody 和 MethodDecorator nuget 包添加到所有项目中。我已经将两个 nuget 包添加到所有项目中。我还在所有项目中添加了 FodyWeavers.xml

如果你想知道我的代码是什么样子的,just check out the git repo. 我还需要做些什么来记录其他项目中的方法进入/退出工作吗?

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

编辑 如果您下载存储库并收到错误:尝试对“$(MsBuildMajorVersion)”进行数值比较,评估结果...这显然是由于 Visual Studio 中的错误,that can be overcome by a restart. p>

【问题讨论】:

    标签: c# logging fody compile-time-weaving


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-19
      • 2017-12-27
      • 2011-07-31
      • 2012-09-08
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 2011-02-25
      相关资源
      最近更新 更多