アセンブリ (プログラミング)
表示
アセンブリとは、型(データ型)と他のリソース(資源)から構成されるランタイムユニット(実行単位)である。アセンブリ内にある全ての型は同じバージョン番号を持つ。
しばしば、1つのアセンブリは1つだけの名前空間を持ち、1つのプログラムで使用される。しかし、1つのアセンブリがいくつかの名前空間に及ぶこともある。また、1つの名前空間がいくつかのアセンブリに及ぶこともある。巨大な設計において、アセンブリは「マニフェスト」(内容を記した一覧表)によってまとめられた複数のファイルから構成されていてもよい。
C#やVB.NETなどの.NET言語において、アセンブリは使用される最小の配置単位であり、.NETにおけるコンポーネントである。たとえばMicrosoft Windows環境の場合、具体的にはDLLやEXEとなる。転じて、.NETコンポーネントではないネイティブのDLL/EXEも、「アセンブリ」と呼ばれることがある[1]。Javaにおいて、アセンブリはJARファイルである[2]。
アセンブリの作成
[編集]C#においては、コンパイルごとに、「アセンブリ」か「モジュール」[3]のいずれかが作成される。「アセンブリ リンカー」 (al) [4]を用いて他のモジュールを加えることができる。
Javaの特徴は、各クラスごとに*.class
ファイルを作成することであり、この点でC#とは異なる。対象となるアセンブリに追加されるYを伴う新規のA.exe
を作成するcsc /addmodule:Y.netmodule A.cs
のように、作成はコンパイラのスイッチで活性化させることが可能である[5]。
脚注
[編集]- ^ Building C/C++ Isolated Applications and Side-by-side Assemblies | Microsoft Docs
- ^ 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日閲覧。
- ^ 連載! とことん C#: 第 18 回 モジュール (.netmodule) の意義 言語: C#
- ^ Al.exe (アセンブリ リンカー)
- ^ 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日閲覧。
関連項目
[編集]- アセンブリ (共通言語基盤): .NET Frameworkにおけるアセンブリについて
- 分離アプリケーションとSide-by-Sideアセンブリ