複数の 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 でしか見たことがありません。