.NET Framework グローバル アセンブリ キャッシュにアセンブリをインストールする

この記事では、Microsoft .NET Framework グローバル アセンブリ キャッシュにアセンブリ .dll ファイルをインストールし、Visual Studio を使用して厳密な名前を持つアセンブリを作成する方法について説明します。

元の製品バージョン: .NET Framework、Visual Studio
元の KB 番号: 910355

概要

.NET Framework グローバル アセンブリ キャッシュにアセンブリ .dll ファイルをインストールするには、.NET Framework SDK グローバル アセンブリ キャッシュ ツールを使用します。 グローバル アセンブリ キャッシュ ツールを使用して、アセンブリがグローバル アセンブリ キャッシュにインストールされていることを確認することもできます。 このタスクを実行するには、共有アセンブリがインストールされているコンピューターに対する管理者権限を持っている可能性があります。 さらに、.NET Framework SDK をインストールする必要があります。

この記事の Visual C# .NET バージョンについては、「 Visual C# のグローバル アセンブリ キャッシュにアセンブリをインストールする方法」を参照してください。

グローバル アセンブリ キャッシュ

.NET Framework グローバル アセンブリ キャッシュはコード キャッシュです。 グローバル アセンブリ キャッシュは、.NET Framework共通言語ランタイムがインストールされている各コンピューターに自動的にインストールされます。 コンピューターにインストールされているアプリケーションは、グローバル アセンブリ キャッシュにアクセスできます。 グローバル アセンブリ キャッシュには、コンピューター上の複数のアプリケーションによって共有されるように指定されたアセンブリが格納されます。 通常、コンポーネント アセンブリはフォルダーに C:\WINNT\Assembly 格納されます。

注:

アセンブリを共有する必要がある場合にのみ、アセンブリをグローバル アセンブリ キャッシュにインストールします。 アセンブリの共有が明示的に必要な場合を除き、アセンブリの依存関係を非公開にし、アセンブリをアプリケーション ディレクトリに配置することをお勧めします。 さらに、アセンブリをグローバル アセンブリ キャッシュにインストールして、アセンブリを Microsoft コンポーネント オブジェクト モデル (COM) 相互運用機能または非マネージド コードで使用できるようにする必要はありません。

アセンブリ

アセンブリは、.NET Frameworkを使用したプログラミングの基本的な部分です。 アセンブリは、.NET Framework共通言語ランタイム アプリケーションの再利用可能で自己記述型の構成要素です。

アセンブリには、共通言語ランタイムが実行する 1 つ以上のコード コンポーネントが含まれています。 同じアセンブリ内のすべての型とすべてのリソースが、ユニットの個々のバージョンを形成します。 アセンブリ マニフェストでは、依存アセンブリに対して指定するバージョンの依存関係について説明します。 アセンブリを使用すると、異なるソフトウェア コンポーネント間でバージョン ルールを指定でき、実行時にそれらのルールを適用できます。 アセンブリは、サイド バイ サイド実行をサポートします。 WHich を使用すると、複数のバージョンを同時に実行できます。

厳密な名前の署名

アセンブリは、グローバル アセンブリ キャッシュにインストールする厳密な名前を持っている必要があります。 厳密な名前はグローバルに一意の ID であり、他のユーザーがスプーフィングすることはできません。 厳密な名前を使用すると、同じ名前のコンポーネントが互いに競合したり、呼び出し元のアプリケーションによって誤って使用されたりするのを防ぐことができます。 アセンブリ署名は、厳密な名前をアセンブリと関連付けます。 アセンブリ署名は、厳密な名前の署名とも呼ばれます。 厳密な名前は、次の情報で構成されます。

  • アセンブリの単純なテキスト名
  • アセンブリのバージョン番号
  • アセンブリに関するカルチャ情報 (この情報が提供されている場合)
  • 公開キーと秘密キーのペア

この情報はキー ファイルに格納されます。 キー ファイルは、Personal Information Exchange (.pfx) ファイルか、現在のユーザーの Microsoft Windows 証明書ストアからの証明書です。

アセンブリに署名するには、Visual Studio のプロジェクト Designerの [署名] タブにあるオプションを使用します。 Visual Studio では、キー ファイルをローカル コンピューターのプロジェクト フォルダーに格納する必要があります。 Visual Studio では、次のファイル形式のみがサポートされています。

  • 個人情報 Exchange (.pfx) ファイル
  • 厳密な名前キー (.snk) ファイル

要件

グローバル アセンブリ キャッシュにアセンブリをインストールする前に、次の要件を満たす場合があります。

  • 共有アセンブリがインストールされているコンピューターに対する管理者権限が必要です。
  • .NET Framework SDK をインストールする必要があります。

この記事では、次のトピックについて理解していることを前提としています。

  • .NET の共有アセンブリに関する一般的な知識。
  • コマンド プロンプトでのツールの使用に関する一般的な知識。

アセンブリをグローバル アセンブリ キャッシュにインストールする

このメソッドは、Visual Studio を使用してアセンブリを作成する方法に基づいています。 複数のアプリケーションで共有できるアセンブリを作成するには、共有アセンブリに厳密な名前が必要です。 さらに、共有アセンブリはグローバル アセンブリ キャッシュにデプロイする必要があります。

厳密な名前を持つ小さな Visual C# アセンブリを作成し、コンパイルされた .dll ファイルをグローバル アセンブリ キャッシュにインストールするには、次の手順に従います。

  1. GACDemo という名前の新しい Visual C# クラス ライブラリ プロジェクトを作成します。 これを行うには、次の手順に従います。

    1. Visual Studio を起動します。
    2. [ ファイル ] メニューの [ 新しいプロジェクト] を選択します。
    3. [テンプレート] ボックスの一覧 、[ クラス ライブラリ] を選択します。
    4. [ 名前 ] ボックスに「 GACDemo」と入力し、[OK] を選択 します
    5. プロジェクトを保存するには、Ctrl キーを押しながら Shift キーを押しながら S キーを押します。
    6. [ 場所 ] ボックスに「」と入力します C:\DemoProjects
    7. [ソリューションのディレクトリの作成] チェック ボックスをオフにし、[保存] を選択します
  2. 厳密な名前を生成し、厳密な名前キー ファイルをアセンブリに関連付けます。 これを行うには、次の手順に従います。

    1. [ プロジェクト ] メニューの [ GACDemo プロパティ] を選択します。

    2. [署名] タブで、[アセンブリの署名] チェック ボックスをオンにします。

    3. [ 厳密な名前のキー ファイルの選択] で、[新規] を選択 <します>

    4. [厳密な名前キーの作成] ダイアログ ボックスで、[パスワードを使用してキー ファイルを保護する] チェック ボックスを選択します。

    5. [ キー ファイル名 ] ボックスに「 GACDemo」と入力します。

    6. [ パスワードの入力 ] ボックスに、使用するパスワードを入力します。

    7. [ パスワードの確認 ] ボックスに同じパスワードを入力し、[ OK] を選択します

      注:

      キー ファイルを作成するときは、常にパスワードを使用することをお勧めします。 パスワードによって保護される新しいキー ファイルは、常に .pfx ファイル形式で作成されます。

    8. プロジェクトをコンパイルするには、Ctrl キーを押しながら Shift キーを押しながら B キーを押します。

      注:

      グローバル アセンブリ キャッシュに .dll ファイルをインストールするために追加のコードは必要ありません。

  3. グローバル アセンブリ キャッシュ ツールを使用して、手順 2 で作成した .dll ファイルをグローバル アセンブリ キャッシュにインストールします。 これを行うには、次の手順に従います。

    1. [ スタート] を選択し、[ 実行] を選択し、「 cmd」と入力して、[ OK] を選択します
    2. 現在の作業ディレクトリを、.NET Framework SDK がインストールされているディレクトリに変更します。
    3. コマンド プロンプトでコマンドを gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll" 入力し、Enter キーを押します。

アセンブリがグローバル アセンブリ キャッシュにインストールされていることを確認する

グローバル アセンブリ キャッシュ ツールを使用して、アセンブリがグローバル アセンブリ キャッシュにインストールされていることを確認できます。 これを行うには、次の手順に従います。

  1. [ スタート] を選択し、[ 実行] を選択し、「 cmd」と入力して、[ OK] を選択します

  2. 現在の作業ディレクトリを、.NET Framework SDK がインストールされているディレクトリに変更します。

  3. GACDemo アセンブリに関するインストール情報を表示するには、グローバル アセンブリ キャッシュ ツールを使用します。 これを行うには、コマンド プロンプトでコマンドを gacutil -l GACDemo 入力し、Enter キーを押します。

    注:

    GACDemo アセンブリに関するインストール情報が表示されます。

関連情報