我有一个包含多个C#项目的解决方案,其中一些项目正在使用Autofac。如果我将Autofac-using项目的引用添加到现有项目中,则在编译我的解决方案时会收到以下错误消息:
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的这个问题。