15の異なるプロジェクトで構成されているレガシーシステムがあり、一方を他方から参照しようとすると、循環依存が発生するため、参照できないと文句を言います。
私の問題は、参照しようとしているプロジェクト('XScript')には、参照しようとしているプロジェクト('WPF_Forms')に対する参照がないため、循環依存がどのように発生するかがわからないことです。 )。
ここで調べてみると、問題には明らかな循環依存関係があるように見えますが、同様の運命に苦しんでいる人々が見つかりました。
ここからいくつかの投稿で推奨されているように、NDependのデモコピーをダウンロードしました。さまざまな依存関係ツールを使用しているにもかかわらず、明確なリンクはまだありません。
関連するプロジェクトを右クリックして[プロジェクトの依存関係]オプションを使用しましたが、リンクが表示されません。また、Visual Studioを再起動し、「CleanSolution」と「Re-buildSolution」を試しましたが無駄になりました。
私が思いついた唯一の方法は、プロジェクト自体ではなく、ビルドされたDLLを参照して「XScript」を参照することですが、それは少し汚い感じがするので、ハックラウンドではなく、なぜこれが起こっているのかを知りたいですそれ。
誰かが私が見逃したかもしれない何か、または何が悪いのかを解明するために私が採用できる戦略を提案できますか?
編集1: XScriptはWPF_Formsを参照するために使用されましたが、その参照はその後削除されました(そして、プロジェクトはクリーンアップされ、[プロジェクトの依存関係]ウィンドウに依存関係が表示されずに再構築されました。VSがどこかにリンクを保持している可能性があります。プロジェクトは何らかの形でリンクされていると思います。
編集2: BitBonkの提案に続いて、VSのコードマップ機能を使用して実行し、プロジェクトトポロジを作成しました。XScriptとWPF_Formsは、メインの.exeによってのみ参照され、他には何も参照されません。これはVSの問題であると思われ始めており、それを機能させるには、新しいプロジェクトを作成し、すべてのサブプロジェクトを再度追加する必要があるかもしれません。