このあたりでビジネス プロセスを実行するために、多数のコンソール アプリケーションを構築しています。ほとんどは同じ性質のもので、アプリケーション サーバーにデプロイされ、ソース データベースにアクセスし、ステージングされたデータをターゲット DB に配置します。一部のファイル共有などにアクセスします。
その設定を考えると、私は同じログ パッケージ (log4net) を何度も使用するのが好きです。各 app.config に構成を保持します。しかし、私は、log4net の DLL を私と一緒に「持ち歩いている」ことに気付き続けています。
つまり、新しいプロジェクトを開始するときに、log4net への参照を作成する必要があるということです。log4net を GAC に入れたり、開発マシンに完全にインストールしたりしないことにしました。代わりに、ダウンロード パッケージ全体をディレクトリに格納し、通常は次のようにします。
DLL を取得して、コンソール アプリ プロジェクトに /lib ディレクトリを作成し、それを参照します。
この縫い目の利点は、DLL をローカルにコピーするため、正しいバージョンがあることを常に知っていることです。私もプロジェクトでそれをチェックインします。
しかし、欠点は、多くの場合、同じ DLL が存在する /lib ディレクトリを持つ大量のプロジェクトになってしまうことです。
私は何を間違っていますか?ソリューション/プロジェクト開発の背後にあるアイデア全体を見逃しているだけですか? 私のプロジェクトはすべてばらばらで、すべてを 1 つのソリューションにまとめたくないと感じています。
他の人がこの問題にどのように取り組んでいるかを知りたいです。