いくつかのプロジェクト(すべてのクラスライブラリ)で構成されるソリューションがあります。たとえば、A、B、C、D、Eです。
A、B、およびCはコア機能を提供するため、一緒に配布する必要があります。DとEは、すべての状況で必ずしも必要とは限らないいくつかのアダプターを提供します。
したがって、当然、配布する前に、A、B、およびCを1つのアセンブリ(ABCという名前)に統合したいと思います。
問題は、プロジェクトがコンパイルされるときに、DとEがABCではなくA、B、C、あるいはその両方を参照することです。したがって、後で他のプロジェクトでABC、D、およびEを参照しようとすると、「インスタンス引数:「A.IBoo」から「A.IBoo」に変換できません」などのコンパイルエラーが発生します。もちろん、VSではアセンブリの署名(名前)が異なることもわかります。
これを修正する良い方法はありますか?
おそらくパブリッシャーポリシーを使用できることは知っていますが、それはきれいではありません。
また、元のソリューションでプロジェクトを組み合わせてILmergeの使用を回避できることはわかっていますが、使用したくないと思います。