0

次のコマンドを検討してください

gacutil /i Microsoft.Powershell.ConsoleHost.dll

これにより、アセンブリがインストールされます

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.PowerShell.ConsoleHost

ここで、 のない別のコンピューターを考えてみましょうgacutilこの更新プログラムをインストール すると、同じアセンブリが同じ場所にインストールされます。なしでこの更新プログラムをグローバル アセンブリ キャッシュにインストールするにはどうすればよいgacutilですか?

4

1 に答える 1

2

すべてのアセンブリは、インストーラーを使用してインストールする必要があります (この特定のケースでは、ほとんどの場合そうなります)。

MSDNから: 方法: アセンブリをグローバル アセンブリ キャッシュにインストールする:

Windows インストーラーの使用。これは、グローバル アセンブリ キャッシュにアセンブリを追加するための推奨される最も一般的な方法です。インストーラーは、グローバル アセンブリ キャッシュ内のアセンブリの参照カウントとその他の利点を提供します。[...] Gacutil.exe は開発のみを目的としており、運用アセンブリをグローバル アセンブリ キャッシュにインストールするために使用しないでください。

MSDNから: グローバル アセンブリ キャッシュへのアセンブリのインストール:

Windows インストーラーは、Microsoft .NET Framework を使用して、共通言語ランタイム アセンブリをグローバル アセンブリ キャッシュにインストールします。

MSDNから: DOC: Global Assembly Cache (GAC) APIs Are Not Documented in the .NET Framework Software Development Kit (SDK) Documentation ( SO: Windows Server 2008 .net で DLL を GAC (「アセンブリ」) にドラッグ アンド ドロップ) 4.0 ):

グローバル アセンブリ キャッシュ (GAC) との対話を可能にするネイティブ コードのアプリケーション プログラミング インターフェイス (API) は、.NET Framework ソフトウェア開発キット (SDK) のドキュメントには記載されていません。

実際のインストールは を通じて行われるようIAssemblyCache::InstallAssembly()です。

于 2014-11-27T22:03:58.603 に答える