Unityアプリケーションブロックを使用する際の予期しない動作を理解しています。スタートアッププロジェクトとしてプロジェクトAがあります。
プロジェクトAにはプロジェクトBへのプロジェクト参照があり、プロジェクトBにはプロジェクトCへのプロジェクト参照があります。
プロジェクトAは、Unityを使用して、プロジェクトBで定義されたクラスへの参照を解決します。これらのクラスは、Unityを使用して、プロジェクトCのクラスへの依存関係を解決します。
したがって、私は共通のプロジェクトで定義されたインターフェイスのみを使用し、Unityを使用して具体的な参照を解決しているため、プロジェクトAのプロジェクトBまたはプロジェクトCのプロジェクト/アセンブリ参照を追加する必要はありません。
ただし、その場合、Unityは参照を解決できません。一方、両方のプロジェクトの参照を追加した場合、問題はありません。なぜそれが必要なのですか?これを回避する方法はありますか?
これは、Unityがこれらのアセンブリから型を構築するために、dllがコンテキスト内にあり、ロードされる必要があるためですか?どういうわけか、これは正しく感じられません。誰かがこの行動を理解するのを手伝ってくれませんか。