GAC(グローバルアセンブリキャッシュ)とはアセンブリを登録しておく場所。
デフォルトではWINDOWS\assemblyフォルダがそこにあたる。
ここに登録してあるアセンブリは全体で共有できる。
以前のレジストリに登録しておくのと似たようなもの。
assemblyに登録するには作成したDLLをassemblyフォルダへドラッグするだけでOK。
また、gacutil.exeというツールでGACを管理することも可能。
(GAC登録するファイルには厳密名をつけておく必要があり。)
GACを用いたアプリの作成手順
1.参照するDLLを作成
2.1で作成したDLLに署名し、厳密名をつける
3.2をGACに登録
※DLLはGACに登録したら消してしまっても構わない。
おそらく、実体はassemblyフォルダにコピーされるものだと思われる。
4.DLLを参照するexeを作成
5.ソリューションエクスプローラで「プロジェクト」を右クリック→「追加」→「新しい項目」→「アプリケーション構成ファイル」を作成
6.作成したアプリケーション構成ファイルに以下のようにDLLの参照情報を記述
※name、publickeytoken、cultureなどの値はassemblyフォルダにあるアセンブリのプロパティより判別できる
app.config
<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="ClassLibrary2" publicKeyToken="4a3c2b05dacbad70" culture="neutral" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
7.作成したexeをコンパイル
この手順で作成されたexeはどこに配置しようがDLLの参照が可能