3

我有一个包含多个 C# 项目的解决方案,其中一些正在使用 Autofac。如果我向现有项目添加对使用 Autofac 的项目的引用,则在编译我的解决方案时会收到以下错误消息:

The type 'Autofac.Builder.ReflectionActivatorData' is defined in an assembly that
is not referenced. You must add a reference to assembly
'Autofac, Version=2.6.3.862, Culture=neutral, PublicKeyToken=17863af14b0044da'.

但是,引发错误的项目不是直接使用 Autofac,另一个项目已经有一个引用,并且(最令人困惑的是)引发错误消息的行与 Autofac 无关——它没有提及任何 Autofac 类型;它没有提到任何可能已经向 Autofac 注册的类型。

这是怎么回事?我可以通过添加对 Autofac 的引用来修复它,但我不想这样做,因为这个项目不使用 Autofac

而且,一旦我添加了对 Autofac 的引用,为了让它编译,Reflector 会告诉我生成的二进制文件没有对 Autofac 的直接引用,因为它没有被使用。我在 dotPeek 和 NDepend 中得到相同的结果。

顺便说一句,我只在 Autofac 上看到过这个问题。

4

0 回答 0