メインの Visual Studio ソリューションを管理する方法を見つけようとしています。このソリューションでは、C++/CLI プロジェクト、C++ ネイティブ プロジェクト、C# プロジェクト、他のチームによって管理され、頻繁に更新される (依存関係と共に) 外部依存関係 (独自の依存関係を持つコンパイル済みの C# アセンブリ) を管理する必要があります。
すべてのタイプのプロジェクトは、相互に依存関係を持つことができます (もちろん、C# または C++ ネイティブを除く)。
一部の C# プロジェクトには、外部 DLL への依存関係があり、適切に動作するために他の DLL が必要になる場合があります。
これまで、ビルド後の手順を使用して、各プロジェクトの出力ディレクトリへの参照をコピーしてきました (外部でコンパイルされた C# ライブラリと必要な C++ DLL の追加の依存関係)。このプロセスを自動化したいと考えています。プロジェクトは数多くあり、外部 DLL は他のチームによって管理されることが多く (依存関係がどんどん追加されることもあります)、それらによって加えられたすべての変更が自動的にメイン プロジェクトに反映されるようにしたいと考えています。
新しいプロジェクトがソリューションに含まれるたびに、ツール、バッチファイルのベストプラクティス、またはこの依存関係の地獄で自分自身を失い、svnの更新と少しの構成作業を行うだけの何かはありますか?
私の問題の 1 つは、C# project1a.dll と C# project 1b.dll を必要とする C# project1.dll がある場合、C# project2 が project1.dll を必要とする場合、project1a.dll と project1b.dll を project2 参照に追加したくないことです。しかし、出力フォルダーでそれを見つけたいと思います (これは、project1a が別のチームによって管理されており、毎日 project1x.dll が機能する必要があるためです)。
この要件をどのように解決しましたか?