2012-01-27 8 views
5

MSDNには、gacutil.exe is not safe to use for production serversと記載されています。これに正当な理由はないのですか、マイクロソフトはCYAをちょうど練習していますか?この警告は無視しても安全ですか?または、私は最終的にMicrosoft Windows Installer 2.0を使用する方法を学ばなければなりませんか?gacutil.exeを使用して本番アセンブリを安全にインストールできますか?

MSDNの正確な内容:

Gacutil.exeを、開発目的のみで、グローバルアセンブリキャッシュに生産アセンブリをインストールするために使用すべきではありません。 Gacutil.exeをターゲットマシン上で使用できなくなるためです

+0

「安全でない」その言葉遣いはどこに現れますか? –

+0

申し訳ありません。私は少し推測していたと思う。それは開発目的のためだけだと述べた。 MSDN言語が追加されました。 – Jeff

+0

よかったです。それが何を言っているのかを確認し、将来の読者を混乱させたくないだけでした。 :) –

答えて

5

アイテムはプログラム間で共有されます。

あなたがキャッシュにアセンブリを追加するためにはGacutilを使用

は、それに依存する項目のない参照カウントはありません。したがって、GacUtil/Uを使用してライブラリからキャッシュを削除すると、それに依存する他のプログラムが壊れてしまう可能性があります。これとは対照的に

、Windowsインストーラ2.0がカウントを保持し、他のプログラムがそれを必要としない場合にのみ、アセンブリキャッシュからライブラリを削除します。

+0

この回答は、私の質問に技術的に答えたのは、ハンスよりも優れています(ハンスは質問を読んでそのように役立ちましたが)。ありがとう! – Jeff

3

。これはWindows SDKの一部で、.NET 4.0バージョンはC:¥Program Files(x86)¥Microsoft SDKs¥Windows¥v7.0A¥Bin¥NETFX 4.0 Toolsにあります。あなたはVisual Studioをインストールしたので、あなたのマシンにそれを持っています。

あなたは、単にインストーラでそれを行います。セットアッププロジェクトで、[ファイルシステム]パネルを右クリックし、[特別なフォルダを追加]を選択し、[グローバルアセンブリキャッシュフォルダ]を選択します。そしてそこにDLLを置く。グローバルアセンブリキャッシュに

+0

別の良い点。私はそれについて考えていませんでしたが、それはVSでインストールされますか? –

+0

私はそれが生産マシン上ではなかったことは知っていますが、シェル拡張が私に問題を引き起こしているので、私はそれをコピーすることができたと思いました。 – Jeff

+1

シェル拡張は.NET 4では使用できなくなりました.GACがc:\ windows \ assemblyからc:\ windows \ microsoft.net \ assemblyに移動したことにも注意してください。 –

関連する問題