CommonUtils などの共通プロジェクトのリリースを行うときに依存関係を含める必要がありますか?それとも、使用するときにどの依存関係を参照する必要があるかを単に指定する必要がありますか?
4 に答える
依存関係を把握している場合、ユーザーはその作業を望んでいません。
- どのようなパッケージが必要ですか?
- 利用できない場合はどうなりますか?(デッドサーバー、プロバイダーは廃業)
- それぞれのバージョンは何が必要ですか?
- 利用できない場合はどうなりますか?(新しいバージョン)
- それぞれをダウンロードするにはどうすればよいですか?
- それぞれをインストールするにはどうすればよいですか?
依存関係が消えたり利用できなくなったりしないようにソフトウェアを保護します。このようなことを理解するという苦痛からユーザーを保護します。
アンインストーラーに正しいことをさせます。共有されていない場合は、インストールしたものを削除します。(それは難しいかもしれません)。
私は常に、合法的かつ実用的な依存関係を含めます。
依存関係が常に GAC にあるとは限らず、ソフトウェアの展開が容易になります。
私は常に 2 つのバージョンを作成します (完璧な解決策ではないかもしれません)。自分のコードと 3 層のパーティ DLL のみを使用したもの。そして、すべてのフレームワークを備えたより大きなバージョン。このようにして、新しいマシンに展開する場合、私はうまくいくことがわかっています。それ以外の場合 (更新の場合、または依存関係の DLL が既に存在することがわかっているマシン上にある場合)、ライト リリースを使用します。
リリースに依存関係を含めます。リリースするときは、アプリケーションの実行方法と動作を制御する必要があります。ユーザーが依存関係をインストールする必要がある場合、ユーザーは互換性のあるバージョンを選択する可能性がありますが、X を実行しないか、X を異なる方法で実行する可能性があります。これにより、アプリケーションの動作が変わり、アプリケーションのサポートとメンテナンスが増加します。