アセンブリ (プログラミング)

アセンブリとは、型(データ型)と他のリソース(資源)から構成されるランタイムユニット(実行単位)である。アセンブリ内にある全ての型は同じバージョン番号を持つ。

しばしば、1つのアセンブリは1つだけの名前空間を持ち、1つのプログラムで使用される。しかし、1つのアセンブリがいくつかの名前空間に及ぶこともある。また、1つの名前空間がいくつかのアセンブリに及ぶこともある。巨大な設計において、アセンブリは「マニフェスト」(内容を記した一覧表)によってまとめられた複数のファイルから構成されていてもよい。

C#VB.NETなどの.NET言語において、アセンブリは使用される最小の配置単位であり、.NETにおけるコンポーネントである。たとえばMicrosoft Windows環境の場合、具体的にはDLLEXEとなる。転じて、.NETコンポーネントではないネイティブのDLL/EXEも、「アセンブリ」と呼ばれることがある[1]Javaにおいて、アセンブリはJARファイルである[2]

アセンブリの作成 編集

C#においては、コンパイルごとに、「アセンブリ」か「モジュール」[3]のいずれかが作成される。「アセンブリ リンカー」 (al) [4]を用いて他のモジュールを加えることができる。

Javaの特徴は、各クラスごとに*.classファイルを作成することであり、この点でC#とは異なる。対象となるアセンブリに追加されるYを伴う新規のA.exeを作成するcsc /addmodule:Y.netmodule A.csのように、作成はコンパイラのスイッチで活性化させることが可能である[5]

脚注 編集

  1. ^ Building C/C++ Isolated Applications and Side-by-side Assemblies | Microsoft Docs
  2. ^ Mossenbock, Hanspeter (2002年3月25日). “Advanced C#: Variable Number of Parameters”. http://ssw.jku.at/Teaching/Lectures/CSharp/Tutorial/:+ Institut fur Systemsoftware, Johannes Kepler Universitat Linz, Fachbereich Informatik. p. 37. 2011年8月5日閲覧。
  3. ^ 連載! とことん C#: 第 18 回 モジュール (.netmodule) の意義 言語: C#
  4. ^ Al.exe (アセンブリ リンカー)
  5. ^ Mossenbock, Hanspeter (2002年3月25日). “Advanced C#: Variable Number of Parameters”. http://ssw.jku.at/Teaching/Lectures/CSharp/Tutorial/:+ Institut fur Systemsoftware, Johannes Kepler Universitat Linz, Fachbereich Informatik. pp. 38〜40. 2011年8月5日閲覧。

関連項目 編集