私の日常業務ソリューションには、約 80 のプロジェクトがあります。このソリューションには、4 つの異なる Web サイト、ビジネス ロジック、およびインフラストラクチャ アセンブリ (拡張メソッド、さまざまなユーティリティ、リポジトリ基本クラスなど) が含まれています。
このソリューションは非常にうまく機能しますが、テスト プロジェクトをソリューションに追加すると、簡単に 100 を超えるプロジェクトを通過してしまい、このソリューションでの作業が非常に面倒になります。
解決策を探しているうちに、Nuget に非常に興味を持ち、それが役立つかどうか疑問に思うようになりました。
アイデアは、巨大なソリューションを小さなアトミック ピースに分割し、その出力がプライベート Nuget リポジトリにアップロードされる Nuget パッケージになるというものです。
Web サイトは、その特定の Web サイトにバインドされたクラス ライブラリ以外のパッケージを参照します。
CI の観点から:
各パッケージ ソリューションはアトミックである必要があります。
- その参照をフェッチできる必要があります (公式フィードとプライベート フィードの両方からの他の NuGet パッケージ)。
 - 建てる
 - テストを実行する
 - パッケージを組み立てる
 - 新しいパッケージをリポジトリにアップロードします
 
製品ソリューション (Web サイトなど) は、次の後にビルドする必要があります。
- コードのコミット
 - プライベート リポジトリの NuGet パッケージの更新
 
なにか提案を?それとも、この巨大なソリューションの分割を達成するためのより良い方法でしょうか?