ここでGACについていくつかの記事を読んで、共有アセンブリをGACにインストールしてアプリケーションを展開しないでください。これは、クライアントマシン上のアプリケーションの更新を容易にするはずだから、意味が分かります。開発とビルドのためのGACへの共有アセンブリのインストール
しかし、開発中とビルドサーバー上で役に立つGACがあることがわかりました。
たとえば、Microsoftアプリケーションブロックを使用する場合は、それらをGACにインストールしてそこに参照することができます。これは、実行するよりも簡単なので意味があります。パスを絶対参照することは、開発者のマシンごとに異なる可能性があります。また、すべての共有コンポーネントを共有ネットワークドライブにするよりも優れています。
おそらく、あなたのビルドサーバーで同じことをするでしょう。しかし、私がこれを見る唯一の問題は、アプリケーションブロックのバージョン2.0を使用するアプリケーションがあることです。後でこれをバージョン3.1を使用するようにアップグレードします。顧客が見つけたバグをテストするために、以前のバージョンのアプリケーションを再作成する必要があるかもしれませんが、ビルドを再作成すると、元々ビルドされていた2.0ではなくアプリケーションブロックのバージョン3.1が選択されます。これは当てはまりますか?GACに入っている限り、古いプロジェクトファイルはdllの古いバージョンを参照していますか?
この特定の点に関するあなたの考え/意見は何ですか?
GACにインストールされ、アプリケーションインストーラの一部として顧客のマシンに展開される「XCOPY」であるMSIとして、すべての開発者に(ダウンロードまたはビルドする)共有コンポーネントのすべてのバージョンを配布できるようにしたいと考えています。これを行うにはこれが最善の方法ですか?
私はこの全体的な問題が現在Nugetによって世話されていると思います。だから私はもはやこの質問が適切であるとは思わない –