ライブラリを実行可能ファイルのフォルダに保持するか、GACに登録するのがどちらが望ましいですか?
4 に答える
アセンブリ(dll)がアプリケーションでのみ使用される場合は、実行可能ファイルと同じフォルダーにインストールします。これは通常、推奨される方法です(そして大部分のユースケース)。
多くのアプリケーションで使用される場合は、GACにインストールする可能性があります。GACは、実際にはMicrosoftアセンブリ専用です。
私は最近、さらに一歩進んでdllを単一の実行可能ファイルにマージするアプリケーションを作成しました。
ここでの説明を参照してください:なぜGACを使用すべきではないのですか?
TL;DR-それはあなたのニーズと好みに依存します。ほとんどの用途で、私は個人的にGACを避けています。
必要な場合にのみ、アセンブリをグローバルアセンブリキャッシュにインストールして、アセンブリを共有する必要があります。一般的なガイドラインとして、アセンブリの依存関係を非公開にし、アセンブリの共有が明示的に必要でない限り、アプリケーションディレクトリでアセンブリを見つけます。さらに、アセンブリをグローバルアセンブリキャッシュにインストールして、COM相互運用機能またはアンマネージコードにアクセスできるようにする必要はありません。
混乱を避け、それぞれのバイナリをクリーンにするために、GACに登録します。技術的にはどちらの方法でも実行できますが、最善の方法は、それぞれのパスに保持することです。ユーザーデータやDLLなど、それぞれのファイルタイプにすべてのWindows環境パスを使用する必要があります。
このライブラリを再利用するかどうかも確認してください。GACに配置された他のアプリやライブラリなどでグローバルに使用するため。exe専用のローカル使用の場合は、同じパスに配置します。