そのシナリオを想像してください:
L
^^
| \
| D
| ^
| /
X
X は実行可能ファイル、D は DLL、L は Lib です。矢印は「依存」を意味します。
L のソースに変更を加えました。X をコンパイルして実行しようとしたとき、実行されていたコードは L の古いコードでした。これは、X をリンクするときに D コードを最初に吸収し、D が既にはそのコードの L を持っており、L の新しいコードとはリンクしません。
どの D を再構築する必要があるのかわからないという問題があります。コードベースのグラフを作成すると、依存関係が非常に複雑になります。X に依存するソリューションを構築する方法はありますか? または少なくとも、それらを発見するために。
なぜなら、今私はこれをそのように解決しているからです:
1) X への依存関係を手動で調べます。それは非常に迷惑で不確実です。上で説明した状況に何度も陥ります。
2) コード ベースのすべてを再コンパイルするスクリプトがあります。X とは関係のないソリューションがたくさんあります。これには、不必要に多くの時間とリソースが必要です。
重要な注意: プロジェクトは別々のソリューション上にあり、1 つだけにマージすることはできません。コード ベースは巨大であり、モジュール性を低下させたくありません。