これはおそらくばかげた質問のように聞こえますが、とにかくそれを試してみるつもりです。
したがって、Visual Studioでは、XがYを参照し、YがXを参照するように2つのプロジェクトXとYを作成することはできません。
一般に、さまざまな理由から、循環依存が問題になる可能性があることを完全に理解できます。
しかし、このように相互依存している2つのプロジェクトをコンパイルすることは本当に不可能ですか?(私の考えでは、これについては完全にオフベースであるかもしれませんが)2つの相互に依存するアセンブリを持つことは、2つの相互に依存するクラスを持つことと実際にはそれほど違いがないため、可能である必要があるように思われます。合法であり、コンパイルすることができます。
「コンパイラが一方を他方の前にコンパイルできなかったため、2つのアセンブリが相互に依存することはできません」と言った場合、私には意味があります。ただし、同じアセンブリ内の2つのクラスに対して同じ引数を指定できるようであり、コンパイラはこのシナリオを問題なく処理できることは明らかです。
基本的に私が尋ねている理由は、私がこのことをしたいという切実な願望を持っているということではありません。具体的には、基本的に1つのユニットの相互に依存する2つの部分として存在し、特定の部分がC#で記述されているために分離されている、MyProjectCSとMyProjectVBの2つのプロジェクトがあればいいのではないかと思います。他の部分はVB.NETで書かれています。
だから、私の質問は(yikes、3倍)です:
- この動作を有効にすることは可能ですか(Visual Studio、またはその他の場所で)?
- IDE内でそれが不可能な場合、少なくとも理論的には可能ですか、それとも相互に依存するアセンブリが存在しない可能性がありますか?
- 理論的にも不可能な場合は、どうしてですか?言い換えると、相互に依存するアセンブリは、単一のアセンブリ内の相互に依存するコードとどのように異なりますか?