次の方法で共有


.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 Component Object Model (COM) 相互運用機能または非マネージド コードで使用できるようにするために、アセンブリをグローバル アセンブリ キャッシュにインストールする必要はありません。

アセンブリ

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

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

厳密な名前の署名

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

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

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

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

  • Personal Information Exchange (.pfx) ファイル
  • 厳密な名前キー (.snk) ファイル

要求事項

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

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

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

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

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

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

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

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

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

    1. Project メニューで、GACDemo プロパティを選択します。

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

    3. [ 厳密な名前のキー ファイルを選択<New> を選択します。

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

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

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

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

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

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

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

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

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

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

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

  1. Start を選択し、Run を選択し、「cmd」と入力して、OK を選択します。

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

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

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

リファレンス