私は最近、複数の.netソリューションがあり、それぞれがそのソリューションに固有のいくつかのプロジェクトをホストしているが、他のプロジェクトを「借りる」/「リンクする」(既存のプロジェクトを追加する)古いレガシーコードベースを持つ新しいクライアントで働き始めました技術的には他のソリューションに属します(少なくともTFSのフォルダー構造を使用する場合)
これが絡み合ったセットアップを見たことはなく、明確なビルド順序はなく、ソリューションAのプロジェクトはソリューションBでホストされているプロジェクトの出力ディレクトリから直接DLLを参照する場合があり、プロジェクトが存在する場合でもプロジェクトが直接含まれている場合がありますフォルダー構造で遠ざかります。
すべてが開発者の怠lazのために最適化されているようです。
CIサーバーを持っていない理由について私が彼らに立ち向かったとき、彼らはそのように組織されたコードでセットアップするのは難しいと答えました。(私は今それを設定し、このコード編成を呪っている)
ソリューションは展開アーティファクト(一緒に展開する必要があるものは同じソリューション内にあります)を中心に編成されていますが、賢明な決定だと思いますが、それらのソリューション(プロジェクト)の内容はいたるところにあります。
複数のソリューション/展開アーティファクトで共通のクラスライブラリを再利用するときに使用するベストプラクティスのコンセンサスはありますか、
- VCSでコードを構造化する方法
- 個別のデプロイメントアーティファクト間でビジネスロジックの共有を促進する方法