手順 2: Bin またはグローバル アセンブリ キャッシュへのアセンブリの配置
SharePoint サイト内では、2 つの場所のどちらかに Web パーツ アセンブリを展開できます。
Bin ディレクトリ : bin ディレクトリは、Web アプリケーション ルート ディレクトリに格納されるフォルダです。詳細については、「[方法] Web アプリケーション ルートを調査する」を参照してください。
グローバル アセンブリ キャッシュ : グローバル アセンブリ キャッシュを使用すると、多数のアプリケーション間でアセンブリを共有できます。グローバル アセンブリ キャッシュは、共通言語ランタイムに自動的にインストールされます。コンポーネントは、通常は C:\WINNT\Assembly に格納されます。
次の表に示すように、場所にはそれぞれ利点と欠点があります。
展開場所 |
利点 |
欠点 |
---|---|---|
Bin ディレクトリ |
部分的に信頼できる場所。既定では、このディレクトリから実行されるコードには、低レベルのコード アクセス セキュリティ (CAS) 権限があります。管理者は、Web パーツに許可されている権限を明示的に昇格させて、正しく機能できるようにする必要があります。このレベルの制御および多層防御のため、管理者は、取得したアセンブリを、必要な CAS 権限の既知のセットを使用して bin ディレクトリで実行できることを好む傾向があります。 また、bin ディレクトリも Web アプリケーションに固有です。これにより、コードを特定の Web アプリケーションに分離することができます。 |
Web パーツをさまざまな場所で実行する場合は、bin アセンブリを展開する必要があります。 |
グローバル アセンブリ キャッシュ |
署名されたアセンブリを展開できるグローバルな場所。既定で、アセンブリは完全信頼で実行されます。グローバルにインストールされるため、任意の Web アプリケーションで動作します。 |
一般に、グローバル アセンブリ キャッシュにインストールされるコードに対する CAS 制限はありません。このため、多層防御というセキュリティの利点は失われます。 また、グローバル アセンブリ キャッシュ内のアセンブリに .PDB ファイル (プログラム データベース) を展開することが難しい場合があります。 |
手順を単純にするために、ここでは、bin ディレクトリにアセンブリを配置すると想定しています。
前提条件
「手順 1: ASP.NET Web パーツ アセンブリを開発する」に説明されているように、ASP.NET Web パーツ アセンブリを作成します。
bin ディレクトリに Web パーツを配置するには
- プロジェクトの bin ディレクトリ内の Web パーツ アセンブリ (DLL) を、アプリケーション ルートの bin ディレクトリにコピーします。詳細については、「Web アプリケーション ルートを確認する方法」を参照してください。