メインシステムの 1 つに非常に大きな解決策があり、ずっと前に行うべきだった分岐をついに行っていますが、ちょっと。
- 主要
 
- 開発(新規開発)
 - サービスパック(バグ修正)
 
- リリース(ロックダウン、現在クライアントとの関係)
 
バグのないところまで主なソリューションを手に入れたところです(テスト済みで、クライアント向けにサインオフする準備ができています)。ただし、私たちの主な解決策は次のようなものです。
- 主要
 
- プロジェクトA
 
- 参照 A (C:\DLLS)
 - リファレンス B (C:\DLLS)
 - プロジェクト B (ローカル参照)
 - プロジェクトB
 
- 参照 A (C:\DLLS)
 - リファレンス B (C:\DLLS)
 
直接的なリレーショナル プロジェクトがある場合、それらはアプリケーションのモジュールであり、ローカルで参照される傾向があります (プロジェクト B)。外部参照はカスタム ユーティリティ クラスであり、ソリューションには存在しないため、ビルドされてフォルダーに配置されます (分岐を検討していないソリューションが 1 つしかない場合はこれで問題ありません)。
問題
問題は、私が分岐していることです。各分岐は 1 つのセクションを参照し、分岐ごとにコードを変更することはできません。MAIN現在のものをロードして、それが持っている参照とソリューション内の場所を確認できるようにしたいのですが、使用しようreflectionとAssembliesしましたMAIN.EXEが、プロジェクトの場所ではなく名前などの参照された.DLLの情報のみを提供しますであることを期待しています。それから私はMicrosoft.Build.BuildEngine
  Project p = new Project();
  //This is the cs/vb project file
  p.Load(_projectPath);
  var v = p.Imports;
これは正しいことではありません。基本的に、特定のプロジェクト ファイルの参照場所のリストを取得しようとしていますが、何ができるかについて何か提案はありますか?