Visual Basic 図解 基礎解説
VB.NET 2002 対応 VB.NET 2003 対応

 

Visual Basic 中学校 > 図解 基礎解説 >

厳密名を設定する方法


この記事が対象とする製品・バージョン

VB2005 対応 Visual Basic 2005 対象外ですが参考にはなります。
VB.NET 2003 対応 Visual Basic.NET 2003 対象です。
VB.NET 2002 対応 Visual Basic.NET (2002) 対象です。
VB6対応 Visual Basic 6.0 × 対象外です。

 

概要

アプリケーションに厳密名を設定する方法を説明します。

メモ:本来、厳密名はアセンブリ単位に設定するものですが、Visual Studio.NETではシングルモジュールアセンブリしか作成できないため、ここでは「アプリケーションに厳密名を設定する」と表現しています。

 

アプリケーションに厳密名を設定するには署名を用意してから、アセンブリの属性にバージョンとカルチャーと署名を指定します。その手順は次の通りです。

 

1.キーファイルを作成する

スタートメニューから[Visual Studio.NET 2003 ツール]の中にある、「Visual Studio.NET 2003 コマンドプロンプト」を起動して、次の通りに打ってください。

※VB.NET2002の場合は、上記の名称中の「2003」の部分は表示されていません。


sn -k C:\StrictKey.snk
 

ファイル名は任意です。

このコマンドを実行するとC:\StrictKey.snkというファイルが作成されるので、このファイルをプロジェクト(.vbproj)があるフォルダに移動してください。
 

 

2.アセンブリの属性を指定する

AssemblyInfo.vbファイルに次の通りに記述してください。

VB.NET 2002 対応 VB.NET 2003 対応

<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyCulture("")>
<Assembly: AssemblyKeyFile("..\..\StrictKey.snk")>

バージョンは任意です。キーファイルは絶対パスを使って指定することもできます。

また、はじめから存在するAssemblyVersion属性は削除してください。

 

以上

 

参考

上記で紹介したのは最も単純なシナリオです。 この他にキーをファイルではなく「CSPコンテナ」と呼ばれる領域に格納する仕組みも用意されています。また、公開キーだけをファイルにして秘密キーを使って後で遅延署名することもできます。

これらのシナリオについてはここでは触れませんが、一定以上の規模の開発では必要となってきます。