Al.exe (アセンブリ リンカー)Al.exe (Assembly Linker)

アセンブリ リンカーは、モジュールまたはリソース ファイルのいずれかである 1 つ以上のファイルから、アセンブリのマニフェストを含むファイルを生成します。The Assembly Linker generates a file that has an assembly manifest from one or more files that are either modules or resource files. モジュールとは、アセンブリ マニフェストを含まない中間言語 (IL: Intermediate Language) ファイルのことです。A module is an intermediate language (IL) file that does not have an assembly manifest.

注意

Visual Studio 2008 以降では、C# と Visual Basic のどちらのコンパイラを使用しても、Win32 マニフェストはアセンブリに自動的に埋め込まれます。Starting with Visual Studio 2008, both the C# and Visual Basic compilers automatically embed a Win32 manifest into the assembly. 詳細については、「/win32manifest (C# コンパイラ オプション)」を参照してください。For more information, see /win32manifest (C# Compiler Options).

このツールは、Visual Studio と共に自動的にインストールされます。This tool is automatically installed with Visual Studio. このツールを実行するには、Visual Studio 用開発者コマンド プロンプト (または Windows 7 の Visual Studio コマンド プロンプト) を使用します。To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). 詳細については、「Visual Studio 用開発者コマンド プロンプト」を参照してください。For more information, see Command Prompts.

コマンド プロンプトに次のように入力します。At the command prompt, type the following:

構文Syntax

al sources options

パラメーターParameters

次の sources を 1 つ以上組み合わせて指定できます。You can specify one or more of the following sources.

ソースSource 説明Description
file[,target]file[,target] file (モジュール) の内容を target で名前が指定されたファイルにコピーします。Copies the contents of file (a module) to the file name specified by target. コピーが完了すると、Al.exetarget をコンパイルしてアセンブリを生成します。After copying, Al.exe compiles target into an assembly.
/embed[resource]: file[,name[,private]]/embed[resource]: file[,name[,private]] file で指定したリソースをアセンブリ マニフェストを含むイメージに埋め込みます。Al.exe は、file の内容をポータブル実行可能 (PE) イメージにコピーします。Embeds the resource specified by file in the image that contains the assembly manifest; Al.exe copies the contents of file into the portable executable (PE) image.

name パラメーターは、リソースの内部識別子です。The name parameter is an internal identifier for the resource. 既定では、リソースはアセンブリでパブリックに指定されており、他のアセンブリから参照できます。By default, resources are public in the assembly (visible to other assemblies). private を指定すると、そのリソースを他のアセンブリから参照できなくなります。Specifying private makes the resource not visible to other assemblies.

fileリソース ファイル ジェネレーター (Resgen.exe) や開発環境などで作成された .NET Framework リソース ファイルである場合は、System.Resources のメンバーを使用してそのファイルにアクセスできます。If file is a .NET Framework resource file created, for example, by the Resource File Generator (Resgen.exe) or in the development environment, it can be accessed with members in the System.Resources. 詳細については、「ResourceManager」を参照してください。For more information, see ResourceManager. それ以外のすべてのリソースに対しては、GetManifestResourceAssembly* メソッドを使用して、実行時にリソースにアクセスします。For all other resources, use the GetManifestResource* methods in the Assembly to access the resource at run time.

リソース ファイルだけが Al.exe に渡された場合は、出力ファイルはサテライト リソース アセンブリになります。If only resource files are passed to Al.exe, the output file is a satellite resource assembly.
/link[resource]: file[,name[,target[,private]]]/link[resource]: file[,name[,target[,private]]] リソース ファイルをアセンブリにリンクします。Links a resource file to an assembly. file によって指定されたリソースがアセンブリの一部になります。ファイルはコピーされません。The resource specified by file becomes part of the assembly; the file is not copied. file パラメーターには、任意のファイル形式を指定できます。The file parameter can be in any file format. たとえば、file パラメーターとしてネイティブ DLL を指定できます。For example, you can specify a native DLL as the file parameter. このようにすると、ネイティブ DLL はアセンブリの一部になるので、グローバル アセンブリ キャッシュにインストールして、アセンブリ内のマネージド コードからアクセスできます。This will make the native DLL part of the assembly so that it can be installed into the global assembly cache and accessed from managed code in the assembly. /linkresource コンパイラ オプションを使用して、これを実行することもできます。You can also do this by using the /linkresource compiler option. 詳しくは、「/linkresource (C# コンパイラ オプション)」をご覧ください。For more information, see /linkresource (C# Compiler Options).

name パラメーターは、リソースの内部識別子です。The name parameter is an internal identifier for the resource. target パラメーターは、Al.exefile をコピーする対象のパスおよびファイル名を指定します The target parameter specifies a path and file name into which Al.exe copies the file. コピーが完了すると、Al.exetarget をコンパイルしてアセンブリを生成します。After copying, Al.exe compiles target into an assembly. 既定では、リソースはアセンブリでパブリックに指定されており、他のアセンブリから参照できます。By default, resources are public in the assembly (visible to other assemblies). private を指定すると、そのリソースを他のアセンブリから参照できなくなります。Specifying private makes the resource not visible to other assemblies.

file がリソース ファイル ジェネレーター (Resgen.exe) や開発環境などで作成された .NET Framework リソース ファイルである場合は、System.Resources 名前空間のメンバーを使用してそのファイルにアクセスできます。If file is a .NET Framework resource file created, for example, by the Resource File Generator (Resgen.exe) or in the development environment, it can be accessed with members in the System.Resources namespace. 詳細については、「ResourceManager」を参照してください。For more information, see ResourceManager. それ以外のすべてのリソースに対しては、GetManifestResource クラスの Assembly* メソッドを使用して、実行時にリソースにアクセスします。For all other resources, use the GetManifestResource * methods in the Assembly class to access the resource at run time.

リソース ファイルだけが Al.exe に渡された場合は、出力ファイルはサテライト リソース アセンブリになります。If only resource files are passed to Al.exe, the output file is a satellite resource assembly.

指定できる options を次に示します。/out オプションは必ず指定する必要があります。You can specify the following options; you must specify /out.

オプションOption 説明Description
/algid: id/algid: id アセンブリ マニフェストを含むファイルを除き、マルチファイル アセンブリ内の全ファイルをハッシュするためのアルゴリズムを指定します。Specifies an algorithm to hash all files in a multifile assembly except the file that contains the assembly manifest. 既定のアルゴリズムは CALG_SHA1 です。The default algorithm is CALG_SHA1. その他のアルゴリズムについては、プラットフォーム SDK の ALG_ID のトピックを参照してください。See ALG_ID in the Platform SDK documentation for other algorithms. .NET Framework の最初のリリースでは、CALG_SHA1 および CALG_MD5 だけがサポートされています。For the first release of the .NET Framework, only CALG_SHA1 and CALG_MD5 are valid.

ハッシュ値は、アセンブリ マニフェストのファイル テーブルに格納されます。The hash values are stored in the file table of the assembly manifest. インストール時や読み込み時に、アセンブリのファイルがそのハッシュと突き合わせされてチェックされます。At installation and load time, the assembly's files are checked against their hashes.

このオプションは、任意のモジュールのソース コードでカスタム属性 (AssemblyAlgorithmIdAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyAlgorithmIdAttribute) in the source code for any module.
/base[address]: addr/base[address]: addr 実行時にユーザーのコンピューターに DLL を読み込む先のアドレスを指定します。Specifies the address at which a DLL will be loaded on the user's computer at run time. オペレーティング システムにプロセス空間内で DLL を再配置させる代わりに DLL のベース アドレスを指定しておくと、アプリケーションの読み込み速度が速くなります。Applications load faster if you specify the base address of the DLLs, instead of letting the operating system relocate the DLLs in the process space.
/bugreport: filename/bugreport: filename バグ レポート用の情報を含むファイル (filename) を作成します。Creates a file (filename) that contains information for reporting bugs.
/comp[any]: text/comp[any]: text アセンブリの Company フィールドに文字列を指定します。Specifies a string for the Company field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、text がそのファイルの Company プロパティとしてエクスプローラーに表示されます。If you do not specify /win32res, text appears in File Explorer as the Company property for the file. /win32res を指定すると、指定したリソース ファイル内の企業情報が Company プロパティとしてエクスプローラーに表示されます。If you specify /win32res, the company information in the specified resource file appears as the Company property in File Explorer.

テキストが空の文字列 ("") の場合、Win32 Company リソースは単一の空白として表示されます。If text is an empty string (""), the Win32 Company resource appears as a single space.

/win32res を指定した場合は、Win32 リソース情報に対して /company は無効になります。If you specify /win32res, /company will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyCompanyAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyCompanyAttribute) in the source code for any MSIL module.
/config[uration]: text/config[uration]: text アセンブリの Configuration フィールドに文字列を指定します。Specifies a string for the Configuration field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

テキストが空の文字列の場合、Win32 Configuration リソースは単一の空白として表示されます。If text is an empty string, the Win32 Configuration resource appears as a single space.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyConfigurationAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyConfigurationAttribute) in the source code for any MSIL module.
/copy[right]: text/copy[right]: text アセンブリの Copyright フィールドに文字列を指定します。Specifies a string for the Copyright field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/copyright が Win32 Copyright リソースとしてエクスプローラーに表示されます。If you do not specify /win32res, /copyright appears in File Explorer as the Win32 Copyright resource.

テキストが空の文字列の場合、Win32 Copyright リソースは単一の空白として表示されます。If text is an empty string, the Win32 Copyright resource appears as a single space.

/win32res を指定した場合は、Win32 リソース情報に対して /copyright は無効になります。If you specify /win32res, /copyright will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyCopyrightAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyCopyrightAttribute) in the source code for any MSIL module.
/c[ulture]: text/c[ulture]: text アセンブリに関連付けるカルチャ文字列を指定します。Specifies the culture string to associate with the assembly. カルチャとして有効な値は、RFC (Internet Requests for Comments) ドキュメント 1766 『Tags for the Identification of Languages』で定義されている値です。Valid values for cultures are those defined by the Internet Requests for Comments (RFC) document 1766 titled "Tags for the Identification of Languages."

text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. 既定のカルチャ文字列はありません。There is no default culture string. この文字列は、リフレクションを使用して表示するために使用できます。This string is available for viewing with reflection.

有効な text 文字列の詳細については、「CultureInfo」を参照してください。For information about valid text strings, see the CultureInfo.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyCultureAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyCultureAttribute) in the source code for any MSIL module.
/delay[sign][+|-]/delay[sign][+|-] アセンブリに完全に署名するか、部分的に署名するかを指定します。Specifies whether the assembly will be fully or partially signed. 完全署名されたアセンブリを作成する場合は、/delaysign- を使用します。Use /delaysign- if you want a fully signed assembly. アセンブリに公開キーだけを含める場合は、/delaysign+ を使用します。Use /delaysign+ if you only want to include the public key in the assembly.

アセンブリに完全に署名するように指定すると、Al.exe はマニフェスト (アセンブリ メタデータ) を含むファイルをハッシュし、秘密キーでそのハッシュに署名します。When you request a fully signed assembly, Al.exe hashes the file that contains the manifest (assembly metadata) and signs that hash with the private key. 結果として得られるデジタル署名は、マニフェストを含むファイルに格納されます。The resulting digital signature is stored in the file that contains the manifest. アセンブリが遅延署名される場合、Al.exe は署名を算出および格納するのでなく、後で署名を追加できるようにファイル内の空間を予約するだけとなります。When an assembly is delay signed, Al.exe does not compute and store the signature, but just reserves space in the file so the signature can be added later.

既定値は /delaysign- です。The default is /delaysign-.

/delaysign オプションは、/keyfile または /keyname と共に使用しない場合、無効になります。The /delaysign option has no effect unless used with /keyfile or /keyname.

たとえば、/delaysign+ を指定すると、テスト時にはアセンブリをグローバル キャッシュに格納できます。For example, using /delaysign+ enables a tester to put the assembly in the global cache. テスト後に、アセンブリに秘密キーを含めることにより、そのアセンブリに完全署名できます。After testing, you can fully sign the assembly by including the private key in the assembly.

メモ:Gacutil.exe (グローバル アセンブリ キャッシュ ツール) を使用して遅延署名アセンブリをグローバル キャッシュに格納する前に、Sn.exe (厳密名ツール) を使用してアセンブリを登録して検証をスキップします。Note: Before using the Gacutil.exe (Global Assembly Cache Tool) to put a delay-signed assembly into the global cache, use the Sn.exe (Strong Name Tool) to register the assembly for verification skipping. たとえば、Sn.exe –Vr delaySignedAssembly のようにします。For example, Sn.exe –Vr delaySignedAssembly. これは、開発にのみ使用してください。Use this only for development.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyDelaySignAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyDelaySignAttribute) in the source code for any MSIL module.
/descr[iption]: text/descr[iption]: text アセンブリの Description フィールドに文字列を指定します。Specifies a string for the Description field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/description が Win32 Comments リソースとしてエクスプローラーに表示されます。If you do not specify /win32res, /description appears in File Explorer as the Win32 Comments resource.

テキストが空の文字列の場合、Win32 Comments リソースは単一の空白として表示されます。If text is an empty string, the Win32 Comments resource appears as a single space.

/win32res を指定した場合は、Win32 リソース情報に対して /description は無効になります。If you specify /win32res, /description will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (Description) として指定することもできます。You can also specify this option as a custom attribute (Description) in the source code for any MSIL module.
/e[vidence]: file/e[vidence]: file Security.Evidence のリソース名を持つアセンブリに file を埋め込みます。Embeds file in the assembly with the resource name of Security.Evidence.

通常のリソースに対して Security.Evidence を使用することはできません。You cannot use Security.Evidence for regular resources.
/fileversion: version/fileversion: version アセンブリの File Version フィールドに文字列を指定します。Specifies a string for the File Version field in the assembly. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/fileversion が Win32 File Version リソースとして使用されます。If you do not specify /win32res, /fileversion will be used as the Win32 File Version resource. /fileversion を指定しないと、Win32 Assembly Version リソースによって Win32 File Version リソースが設定されます。If you do not specify /fileversion, the Win32 File Version resource will be populated by the Win32 Assembly Version resource.

/win32res を指定した場合は、Win32 リソースに対して /fileversion は無効になります。If /win32res is specified, /fileversion does not affect the Win32 resource.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyFileVersionAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyFileVersionAttribute) in the source code for any MSIL module.
/flags: flags/flags: flags アセンブリの Flags フィールドに値を指定します。Specifies a value for the Flags field in the assembly. flags に指定できる値は次のとおりです。Possible values for flags:

0x00000x0000
アセンブリは side-by-side 実行をサポートしています。The assembly is side-by-side compatible.

0x00100x0010
アセンブリは別のバージョンが同じアプリケーション ドメインで実行されている場合には実行できません。The assembly cannot execute with other versions if they are executing in the same application domain.

0x00200x0020
アセンブリは別のバージョンが同じプロセスで実行されている場合には実行できません。The assembly cannot execute with other versions if they are executing in the same process.

0x00300x0030
アセンブリは別のバージョンが同じコンピューターで実行されている場合には実行できません。The assembly cannot execute with other versions if they are executing on the same computer.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyFlagsAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyFlagsAttribute) in the source code for any MSIL module.
/fullpaths/fullpaths エラー メッセージで報告されるすべてのファイルについて、Al.exe が絶対パスを使用するように指定します。Causes Al.exe to use the absolute path for any files that are reported in an error message.
/help/help このツールのコマンド構文とオプションを表示します。Displays command syntax and options for the tool.
/keyf[ile]: filename/keyf[ile]: filename アセンブリに署名するためのキー ペアまたは公開キーだけを含むファイル (filename) を指定します。Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. コンパイラは、アセンブリ マニフェストに公開キーを挿入し、最終的なアセンブリに秘密キーで署名します。The compiler inserts the public key in the assembly manifest and then signs the final assembly with the private key. キー ファイルの生成、およびキー コンテナーへのキー ペアのインストールについては、「厳密名ツール (Sn.exe)」を参照してください。See the Strong Name Tool (Sn.exe) for information about generating key files and installing key pairs into key containers.

遅延署名を使用する場合は、通常、このファイルには公開キーだけが含まれ、秘密キーは含まれません。If you are using delayed signing, this file will usually have the public key but not the private key.

キー ペアの公開キー情報は、アセンブリの .publickey フィールドに表示されます。The public key (of the key pair) information appears in the .publickey field of the assembly.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyKeyFileAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyKeyFileAttribute) in the source code for any MSIL module.

同じコンパイルで、コマンド ライン オプションまたはカスタム属性によって /keyfile/keyname の両方が指定された場合、Al.exe はまず、/keyname で指定されたコンテナーを検索します。If both /keyfile and /keyname are specified (either by command-line option or by custom attribute) in the same compilation, Al.exe will first try the container specified with /keyname. 成功すると、キー コンテナー内の情報を使用して、アセンブリが署名されます。If that succeeds, the assembly is signed with the information in the key container. キー コンテナーを検出できなかった場合、Al.exe/keyfile で指定されたファイルを検索します。If Al.exe does not find the key container, it will try the file specified with /keyfile. ファイルが検出された場合、アセンブリはキー ファイルの情報で署名され、キー情報はキー コンテナーにインストールされるため (Sn.exe の -i オプションと同様)、次のコンパイル時には /keyname オプションが有効となります。If that succeeds, the assembly is signed with the information in the key file and the key information will be installed in the key container (similar to the -i option in Sn.exe) so that on the next compilation, the /keyname option will be valid.
/keyn[ame]: text/keyn[ame]: text キー ペアを保持するコンテナーを指定します。Specifies a container that holds a key pair. これにより、公開キーがアセンブリ マニフェストに挿入され、アセンブリに署名 (厳密な名前が指定) されます。This will sign the assembly (give it a strong name) by inserting a public key into the assembly manifest. 次に、Al.exe は最終的なアセンブリに秘密キーで署名します。Al.exe will then sign the final assembly with the private key.

Sn.exe を使用して、キー ペアを生成します。Use Sn.exe to generate a key pair.

キー情報は、アセンブリの .publickey フィールドに表示されます。The key information appears in the .publickey field of the assembly.

空白が埋め込まれている場合は、text を二重引用符 (" ") で囲みます。Place text in double quotation marks (" ") if there is an embedded space.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyKeyNameAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyKeyNameAttribute) in the source code for any MSIL module.
/main: method/main: method モジュールを実行可能ファイルに変換するときに、エントリ ポイントとして使用するメソッドの完全修飾名 (class.method) を指定します。Specifies the fully qualified name (class.method) of the method to use as an entry point when converting a module to an executable file.
/nologo/nologo Al.exe の起動時に、著作権情報またはロゴをコマンド ラインに表示しないようにします。Suppresses the banner, or logo, displayed at the command line when you invoke Al.exe.
/out: filename/out: filename Al.exe で作成されるファイルの名前を指定します。Specifies the name of the file produced by Al.exe. これは必須オプションです。This is a required option.
/platform: text/platform: text コードを実行できるプラットフォームを制限します。x86、Itanium、x64、anycpu (既定値)、anycpu32bitpreferred のいずれかである必要があります。Limits which platform this code can run on; must be one of x86, Itanium, x64, anycpu (the default), or anycpu32bitpreferred.
/prod[uct]: text/prod[uct]: text アセンブリの Product フィールドに文字列を指定します。Specifies a string for the Product field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/product が Win32 Product Name リソースとしてエクスプローラーに表示されます。If you do not specify /win32res, /product appears in File Explorer as the Win32 Product Name resource.

テキストが空の文字列の場合、Win32 Product Name リソースは単一の空白として表示されます。If text is an empty string, the Win32 Product Name resource appears as a single space.

/win32res を指定した場合は、Win32 リソース情報に対して /product は無効になります。If you specify /win32res, /product will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyProductAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyProductAttribute) in the source code for any MSIL module.
/productv[ersion]: text/productv[ersion]: text アセンブリの Product Version フィールドに文字列を指定します。Specifies a string for the Product Version field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/productversion が Win32 Product Version リソースとして使用されます。If you do not specify /win32res, /productversion will be used as the Win32 Product Version resource. /productversion を指定しないと、Win32 File Version リソースによって Win32 Product Version リソースが設定されます。If you do not specify /productversion, the Win32 Product Version resource will be populated by the Win32 File Version resource.

/win32res を指定した場合は、Win32 リソース情報に対して /productversion は無効になります。If you specify /win32res, /productversion will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyInformationalVersionAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyInformationalVersionAttribute) in the source code for any MSIL module.
/t[arget]: lib[rary] | exe | win[exe]/t[arget]: lib[rary] | exe | win[exe] 出力ファイルのファイル形式として、lib[rary] (コード ライブラリ)、exe (コンソール アプリケーション)、または win[exe] (Windows ベースのアプリケーション) を指定します。Specifies the file format of the output file: lib[rary] (code library), exe (console application), or win[exe] (Windows-based application). 既定値は、lib[rary] です。The default is lib[rary].
/template: filename/template: filename カルチャ フィールドを除く、すべてのアセンブリ メタデータの継承元であるアセンブリ (filename) を指定します。Specifies the assembly, filename, from which to inherit all assembly metadata, except the culture field.

/template を指定して作成したアセンブリは、サテライト アセンブリになります。An assembly that you create with /template will be a satellite assembly.
/title: text/title: text アセンブリの Title フィールドに文字列を指定します。Specifies a string for the Title field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/title が Win32 Description リソースとしてエクスプローラーに表示され、アプリケーションのフレンドリ名としてシェルによって使用されます。If you do not specify /win32res, /title appears in File Explorer as the Win32 Description resource, which is used by the shell as the friendly name of an application. この文字列は、複数のアプリケーションでサポートされる種類のファイルに対するショートカット メニューの [ファイルを開くアプリケーションの選択] サブメニューにも表示されます。It is also displayed on the Open With submenu of the shortcut menu for a file type for which there are multiple supporting applications.

テキストが空の文字列の場合、Win32 Description リソースは単一の空白として表示されます。If text is an empty string, the Win32 Description resource appears as a single space.

/win32res を指定した場合は、Win32 リソース情報に対して /title は無効になります。If you specify /win32res, /title will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyTitleAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyTitleAttribute) in the source code for any MSIL module.
/trade[mark]: text/trade[mark]: text アセンブリの Trademark フィールドに文字列を指定します。Specifies a string for the Trademark field in the assembly. text に空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。Place the string in double quotation marks (" ") if text contains a space. この文字列はアセンブリのカスタム属性であり、リフレクションを使用して表示するために使用できます。This string is a custom attribute on the assembly and is available for viewing with reflection.

/win32res を指定しないと、/trademark が Win32 Trademark リソースとしてエクスプローラーに表示されます。If you do not specify /win32res, /trademark appears in File Explorer as the Win32 Trademark resource.

テキストが空の文字列の場合、Win32 Trademark リソースは単一の空白として表示されます。If text is an empty string, the Win32 Trademark resource appears as a single space.

/win32res を指定した場合は、Win32 リソース情報に対して /trademark は無効になります。If you specify /win32res, /trademark will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyTrademarkAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyTrademarkAttribute) in the source code for any MSIL module.
/v[ersion]: version/v[ersion]: version アセンブリのバージョン情報を指定します。Specifies version information for this assembly. バージョン文字列の形式は major.minor.build.revision です。既定値は 0 です。The format of the version string is major.minor.build.revision. The default value is 0.

/version を指定する場合、major も指定する必要があります。If you do specify /version, you must specify major. majorminor を指定する場合、build に対してアスタリスク (*) を指定できます。If you specify major and minor, you can specify an asterisk (*)for build. その場合、build は現地時間の 2000 年 1 月 1 日以降の経過日数と等しい値になり、revision は現地時間の当日の午前 0 時以降の経過秒数を 2 で割った値と等しくなります。This causes build to be equal to the number of days since January 1, 2000, local time, and revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

majorminor、および build を指定する場合、revision に対してアスタリスクを指定できます。If you specify major, minor, and build, you can specify an asterisk for revision. その場合、revision は現地時間の当日の午前 0 時以降の経過秒数を 2 で割った値と等しくなります。This causes revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

まとめると、有効なバージョン文字列は次のようになります。To summarize, the valid version strings are as follows:

xX

X.XX.X

X.X.*X.X.*

X.X.XX.X.X

X.X.X.*X.X.X.*

X.X.X.XX.X.X.X

X は 65535 を除く unsigned short 定数 (0 ~ 65534) です。where X is any unsigned short constant except 65535 (0-65534).

/win32res を指定しないと、/version が Win32 Assembly Version リソースとして使用されます。If you do not specify /win32res, /version will be used as the Win32 Assembly Version resource.

/win32res/productversion、および /fileversion を指定しない場合、/versionAssembly Version、File Version、および Product Version Win32 リソースに対して使用されます。If you do not specify /win32res, /productversion, and /fileversion, /version will be used for the Assembly Version, File Version, and Product Version Win32 resources.

/win32res を指定した場合は、Win32 リソース情報に対して /version は無効になります。If you specify /win32res, /version will not affect the Win32 resource information.

このオプションは、任意の MSIL モジュールのソース コードでカスタム属性 (AssemblyVersionAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyVersionAttribute) in the source code for any MSIL module.
/win32icon: filename/win32icon: filename .ico ファイルをアセンブリに挿入します。Inserts an .ico file in the assembly. この .ico ファイルは、エクスプローラーにおける出力ファイルの視覚的な表現を提供します。The .ico file gives the output file the desired appearance in File Explorer.
/win32res: filename/win32res: filename Win32 リソース (.res ファイル) を出力ファイルに挿入します。Inserts a Win32 resource (.res file) in the output file. Win32 リソース ファイルは、リソース コンパイラを使用して作成できます。A Win32 resource file can be created by using the Resource Compiler. リソース コンパイラは、Visual C++ プログラムをコンパイルするときに呼び出されます。 .res ファイルは .rc ファイルから作成されます。The Resource Compiler is invoked when you compile a Visual C++ program; a .res file is created from the .rc file.
@filename Al.exe コマンドが格納されている応答ファイルを指定します。Specifies a response file that contains Al.exe commands.

応答ファイルでは、コマンドは各行に 1 つずつ指定されるか、複数のコマンドが 1 行に空白で区切られて指定されます。Commands in the response file can appear one per line or on the same line, separated by one or more spaces.
/?/? このツールのコマンド構文とオプションを表示します。Displays command syntax and options for the tool.

コメントRemarks

すべての Visual Studio コンパイラは、アセンブリを生成します。All Visual Studio compilers produce assemblies. ただし、モジュール (マニフェストを含まないメタデータ) が 1 つ以上ある場合は、Al.exe を使用して、マニフェストを別個のファイルに含むアセンブリを作成できます。However, if you have one or more modules (metadata without a manifest), you can use Al.exe to create an assembly with the manifest in a separate file.

アセンブリのキャッシュへのインストール、キャッシュからの削除、およびキャッシュの内容の一覧表示を実行するには、グローバル アセンブリ キャッシュ ツール (Gacutil.exe) を使用します。To install assemblies in the cache, remove assemblies from the cache, or list the contents of the cache, use the Global Assembly Cache Tool (Gacutil.exe).

エラーと警告Errors and Warnings

Al.exe で発生するエラーの一覧を次の表に示します。The following table lists the errors generated by Al.exe.

ErrorError 説明Description
al1001al1001 内部コンパイル エラーInternal compiler error

Al.exe のエラーの発生原因が、予期しない構文を解析できなかったためかどうかを調べてください。Try to determine whether Al.exe is failing because of its inability to parse unexpected syntax. その後、マイクロソフト製品 サポート サービスにお問い合わせください。Then, contact Microsoft Product Support Services.
al1002al1002 メモリ不足Out of memory

Al.exe がメモリ不足のため、停止しました。Al.exe ran out of memory and stopped. 使用できるメモリの容量を増やしてください。Increase the amount of available memory.
al1003al1003 コンパイラ オプション 'option' の後には引数が必要です。Compiler option 'option' must be followed by an argument

Al.exe は、コマンド ライン オプションに引数が渡されることを想定しています。Al.exe expected an argument to be passed to a command-line option. たとえば、/algid: を指定した場合は、アルゴリズム識別子を渡す必要があります。For example, if you specify /algid:, you must pass an algorithm identifier.
al1004al1004 予期しない共通言語ランタイム初期化エラーです — '理由'Unexpected common language runtime initialization error — 'reason'

メッセージに示された原因により、Visual Studio または共通言語ランタイムのインストールに関するエラーが Al.exe から報告されました。Al.exe reported an error with the installation of Visual Studio or the common language runtime for the specified reason.
al1005al1005 ファイル 'file' のサイズが大きすぎて開けませんFile 'file' too big to open

Al.exe で開くファイルは、4 ギガバイト (GB) 未満であることが必要です。All files opened by Al.exe must be smaller than 4 gigabytes (GB).
al1006al1006 応答ファイル 'file' は既に含まれていますResponse file 'file' was already included

同じ応答ファイルが、コマンド ライン (@file) で複数回指定されました。The same response file was specified (@file) more than once on the command line. 応答ファイルを指定できるのは 1 回だけです。The response file can only be included once.
al1007al1007 応答ファイル 'file' を開いているときにエラーが発生しました -- '理由'Error opening response file 'file' — 'reason'

Al.exe は、メッセージに示された原因により、指定された応答ファイルを開くことができません。Al.exe cannot open the specified response file for the specified reason.
al1008al1008 'option' コマンド ライン オプションに対するファイル指定がありません。Missing file specification for 'option' command-line option

Al.exe は、コマンド ライン オプションにファイルが渡されることを想定しています。Al.exe expected a file to be passed to a command-line option. たとえば、/out オプションを指定する場合は、ファイルを指定する必要があります。For example, if you specify the /out option, you must specify a file.
al1009al1009 'file' を書き込むために開くことができませんCan't open 'file' for writing

Al.exe は、出力アセンブリ ファイルなどのファイルに書き込みできませんでした。Al.exe was unable to write to a file, such as the output assembly file. ディスクがいっぱいである、ファイルが読み取り専用である、ファイルに対するアクセス許可がないなどの理由が考えられます。The disk might be full, the file might be read-only, or you might not have permissions to the file.
al1010al1010 コマンド ライン構文エラー:'option' オプションに ':text' がありませんCommand-line syntax error: Missing ':text' for 'option' option

Al.exe は、コマンド ライン オプションに引数が渡されることを想定しています。Al.exe expected an argument to be passed to a command-line option. たとえば、/title オプションを指定する場合は、文字列を渡す必要があります。For example, if you specify the /title option, you must pass a string.
al1011al1011 ファイル 'file' は実行可能ファイルです。テキスト ファイルとして開くことはできませんFile 'file' is an executable file and cannot be opened as a text file

テキスト ファイルを指定する必要があるところにバイナリ ファイルが指定されました。A binary file was specified where a text file was expected. たとえば、コマンド ラインで応答ファイルとしてバイナリ ファイルが渡されると、このエラーが発生します。For example, this error occurs if a binary file is passed on the command line as a response file.
al1012al1012 'value' はオプション 'option' に対する有効な設定ではありません'value' is not a valid setting for option 'option'

コマンド ライン オプションに予期しない値が渡されました。An unexpected value was passed to a command-line option. たとえば、/target オプションに無効な値を指定すると、このエラーが発生します。For example, this error occurs if you specify an invalid value to the /target option.
al1013al1013 認識できないコマンド ライン オプション : 'option'Unrecognized command-line option: 'option'

指定されたコマンド ライン オプションが無効です。An invalid command-line option was specified.
al1014al1014 予期しない初期化エラーです — '理由'Unexpected initialization error — 'reason'

COM を初期化できなかったことが、Al.exe によって検出されました。Al.exe detected a COM initialization failure. このエラーの原因としては、メモリ不足も考えられますが、システム DLL ファイルが原因であるケースが一般的です。This might be caused by a lack of memory, but a more likely cause is the system DLL files. この場合、オートメーションや COM に対応したプログラム (Microsoft Visual Studio など) を実行する場合にも類似のエラーが発生するはずです。You should see a similar error if you run any Automation-aware or COM-aware program, such as Microsoft Visual Studio.

オペレーティング システムを再インストールしてください。Reinstall the operating system.
al1015al1015 メッセージ ファイル 'alinkui.dll' が見つかりませんUnable to find messages file 'alinkui.dll'

Al.exe には Alinkui.dll が必要です。Al.exe requires Alinkui.dll. このファイルがパス上にあるかどうかを確認してください。Make sure that this file is on your path. 必要な場合は、製品 CD から Alinkui.dll をコピーしてください。If necessary, copy it from the product CD.
al1016al1016 有効な入力ファイルが指定されませんでしたNo valid input files were specified

Al.exe には、アセンブリ情報を含んでいない 1 つ以上の入力ファイルを指定する必要があります。Al.exe requires one or more input files that do not have assembly information.
al1017al1017 ターゲット ファイル名が指定されませんでしたNo target file name was specified

ターゲット ファイル名の指定に必要な /out オプションが存在しませんでした。The required /out option specifying the target file name was missing.
al1018al1018 必要なファイル 'file' を読み込めませんでしたRequired file 'file' could not be loaded

特定の DLL ファイルを読み込めません。Certain DLL files cannot be loaded. Visual Studio または Windows Software Development Kit (SDK)Windows Software Development Kit (SDK) を再インストールしてください。Reinstall Visual Studio or the Windows Software Development Kit (SDK)Windows Software Development Kit (SDK).
al1019al1019 アセンブリを作成中にメタデータが失敗しました — 理由Metadata failure while creating assembly — reason

メッセージに示された原因により、アセンブリの生成が中断されました。Generation of the assembly was interrupted for the specified reason. たとえば、/win32res オプションで指定したファイルが見つからない場合に、このエラーが発生します。For example, this error occurs if a file that you specify with the /win32res option is not found.
al1020al1020 含まれているアセンブリ 'file' を無視しますIgnoring included assembly 'file'

指定した入力ファイルにアセンブリが含まれています。An input file that contained an assembly was specified. アセンブリを含むファイルを Al.exe 入力ファイルとして指定することはできません。Al.exe input files cannot contain assemblies.
al1021al1021 '設定' : 今までの設定をオーバーライドしています'setting' : overriding previous setting

モジュールには、カスタム属性によって割り当てられた可能性のある特定の設定について値が指定されていましたが、Al.exe コマンド ライン オプションを使用して渡された値によって、この値がオーバーライドされました。A module had a value for a particular setting, possibly assigned through custom attributes, which was overridden with a value passed using an Al.exe command-line option.
al1022al1022 埋め込みリソース 'file' の読み込みエラーです — 理由Error reading embedded resource 'file' — reason

メッセージに示された原因により、Al.exe/embedresource オプションに渡されたファイルを読み取ることができません。Al.exe cannot read the file passed to the /embedresource option for the specified reason.
al1023al1023 リソース 'file' の埋め込みエラーです — 理由Error embedding resource 'file' — reason

メッセージに示された原因により、オペレーティング システムがアセンブリにリソース ファイルを埋め込めません。The operating system cannot embed the resource file in the assembly for the specified reason.
al1025al1025 ComType レコード 'record' は無効なファイル レコード 'record' を指していますComType record 'record' points to an invalid file record 'record'

入力モジュール内のメタデータが無効です。Metadata in the input module is invalid. モジュールを作成したツールを修復する必要があります。The tool that produced the module must be fixed.
al1026al1026 指定されたバージョン 'version' は無効ですThe version specified 'version' is invalid

有効な形式については、/version オプションの説明を参照してください。See information about the /version option for valid formats.
al1028al1028 キー ファイル 'file' は署名に必要な秘密キーがありませんKey file 'file' is missing the private key needed for signing

公開キーだけを保持したキー ファイルが /keyfile オプションに渡されました。A key file that contains only the public key was passed to the /keyfile option. 厳密名ツール (Sn.exe) で次のようなコマンドを使用して、公開キーと秘密キーの両方を含むファイルを生成してください。Use the Strong Name Tool (Sn.exe) to generate a file that has both a public and private key, as shown in the following command.

sn -k keypair.snk.
al1029al1029 キーのコンテナー名 'container' は存在しませんThe key container name 'container' does not exist

/keyname オプションに渡された値が有効なコンテナーではありません。The value passed to the /keyname option is not a valid container. 厳密名ツール (Sn.exe) を使用してコンテナーを作成してください。Use the Strong Name Tool (Sn.exe) to create a container.
al1030al1030 適切な暗号サービスが正しくインストールされていないか、適切なキー プロバイダーがありませんThe cryptographic service is not installed properly or does not have a suitable key provider

多くの場合は、オペレーティング システムを再インストールするか、キーの作成に使用した暗号ユーティリティをインストールする必要があります。You might have to either reinstall the operating system or install some cryptographic utility that was that is used to create the key.
al1031al1031 アイコン 'file' を読み込み中にエラーが発生しました— 理由Error reading icon 'file' — reason

Al.exe は、メッセージに示された原因により、/win32icon オプションに渡されたファイルを読み取ることができません。Al.exe cannot read the file that was passed to the /win32icon option for the specified reason
al1032al1032 'file' のリソースを生成中にエラーが発生しました — 理由Error generating resources for 'file' — reason

Al.exe は、ディスク容量の不足またはその他のエラーが原因でファイルを作成できません。Al.exe cannot create a file because of insufficient disk space or some other error. .ico ファイルを生成する /win32icon オプションを指定した場合や、リソース情報を持つファイルを生成する /win32res オプションを指定しなかった場合に、このエラーが発生します。This error occurs when you specify the /win32icon option (which generates an .ico file) or do not specify the /win32res option (which generates a file that has resource information).

ファイル生成に関するこの問題を解決できない場合は、/win32res を使用してください。/win32res は、バージョン情報やビットマップ (アイコン) 情報を含むファイルを指定します。If you cannot resolve the file generation problem, use /win32res, which specifies a file that can contain version or bitmap (icon) information.
al1033al1033 アセンブリ カスタム属性 'attribute' が異なる値で複数回指定されましたAssembly custom attribute 'attribute' was specified multiple times with different values

Al.exe に対する入力ファイルとして指定されたソース モジュール内で、同じカスタム属性が 2 回使用されており、それぞれに異なる値が渡されています。Different values were passed to two occurrences of the same custom attribute in source modules that are specified as input to Al.exe.
al1034al1034 アセンブリ 'file' のコピーおよび名前の変更はできませんAssembly 'file' cannot be copied or renamed

入力ファイルの指定やコピーを実行できる Al.exe 構文を使用しているときに、名前の競合が発生し、コンパイラが停止しました。While using the Al.exe syntax that enables you to both specify an input file and copy it, a name conflict arose that stopped the compiler. たとえば、input.dll,somename.dll /out:somename.dll と指定すると、このエラーが発生します。For example, this error occurs if you specify input.dll,somename.dll /out:somename.dll.
al1035al1035 ライブラリはエントリ ポイントを持てませんLibraries cannot have an entry point

/target:lib オプション (既定値) と /main オプションは同時には指定できません。You cannot specify both the /target:lib option (the default) and the /main option.
al1036al1036 実行可能アプリケーションにエントリ ポイントが必要ですEntry point required for executable applications

/target:exe オプションまたは /target:win オプションを使用する場合は、/main オプションも指定する必要があります。When using the /target:exe or /target:win option, you must also specify the /main option.
al1037al1037 エントリ ポイント メソッド 'main' が見つかりませんUnable to find the entry point method 'main'

Al.exe は、/main オプションで指定された位置で Main メソッドを見つけられません。Al.exe cannot find a Main method at the location specified by the /main option.
al1039al1039 グローバル アセンブリ キャッシュ マネージャーの初期化に失敗しました — 理由Initialization of global assembly cache manager failed — reason

Visual Studio または Windows SDKWindows SDK を再インストールしてください。Reinstall Visual Studio or the Windows SDKWindows SDK.
al1040al1040 キャッシュにアセンブリをインストールできませんでした — 理由Failed to install assembly into cache — reason

キャッシュにインストールできるのは署名されたアセンブリだけです。Only signed assemblies can be installed into the cache. 詳細については、「グローバル アセンブリ キャッシュ」を参照してください。See Global Assembly Cache for more information.
al1041al1041 'method' : 署名または表示が正しくないか、ジェネリックであるため、エントリ ポイントになれません。'method': cannot be the entry point because the signature or visibility is incorrect, or it is generic

/main オプションで指定されたメソッドが、静的メソッドでないか、int または void を返さないか、ジェネリックであったか、無効な引数が含まれています。A method was specified with the /main option, but that method is not static, does not return int or void, was generic, or has invalid arguments.
al1042al1042 'exe':EXE を追加モジュールにすることはできません'exe': EXEs cannot be added modules

アセンブリを含まない .exe ファイルが、Al.exe への入力ファイルとして指定されました。An .exe file that does not have an assembly was specified as an input file to Al.exe. Al.exe で入力ファイルとして指定できるのは、アセンブリを含まない .dll ファイルだけです。Al.exe can only take dll files without assemblies as input files.
al1043al1043 マニフェスト ファイル名 'name' をモジュール名と同じにすることはできませんManifest file name 'name' cannot be the same as any modules

/out オプションで指定する名前は、Al.exe に対する入力ファイルとして指定されるファイルと同じ名前にすることはできません。The name specified with the /out option cannot be the same as any one of the file names that are specified as input to Al.exe.
al1044al1044 キー ファイル 'file' の読み込み中にエラーが発生しました -- 理由Error reading key file 'file' — reason

/keyfile または AssemblyKeyFileAttribute で指定したファイルを開いているとき、または読み取っているときに、エラーが発生しました。An error occurred while opening or reading from a file specified with /keyfile or the AssemblyKeyFileAttribute.
al1045al1045 ファイル名 'file' が長すぎるか無効ですFilename 'file' is too long or invalid

260 文字より長いファイル名が Al.exe に渡されました。A file name longer than 260 characters was passed to Al.exe. それよりも文字数の少ないファイル名または短いパスを選択するか、ファイルの名前を変更してください。Choose a file name with fewer characters or a shorter path, or rename the file.
al1046al1046 リソース識別子 'ID' はアセンブリで既に使用されていますResource identifier 'ID' has already been used in this assembly

埋め込まれたかリンクされた 2 つのリソースの ID または名前 (2 番目の引数) が同じです。Two resources, embedded or linked, have the same identifier or name (the second argument). 競合するリソースのうちのいずれか 1 つを削除するか、名前を変更してください。Remove or rename one of the conflicting resources.
al1047al1047 ファイル 'file' のインポート中にエラーが発生しました — 理由 Error importing file 'file' — reason

メッセージに示された原因により、モジュール ファイルを開くことができません。A module file cannot be opened for the specified reason.
al1048al1048 アセンブリ 'assembly' のモジュール 'module' のインポート中にエラーが発生しました -- 理由Error importing module 'module' of assembly 'assembly' — reason

マルチファイル アセンブリの非マニフェスト ファイルを開いているときにエラーが発生しました。An error occurred when opening a nonmanifest file of a multifile assembly. このエラーは、Al.exe によって直接は出力されませんが、プログラムによって、Al.exe を使用するプロセスに渡すことができます。This error is not emitted directly by Al.exe, but can be passed programmatically to a process that uses Al.exe.
al1049al1049 2000 年 1 月 1 日以前のビルドとリビジョン バージョン番号は自動生成できません。Cannot auto-generate build and revision version numbers for dates before January 1, 2000

コンピューターのシステム時計が 2000 年 1 月 1 日よりも前の日付に設定されています。The system clock on your computer is set to a date earlier than January 1, 2000.
al1050al1050 使用している機能 'old feature' は現在サポートされていません。'new feature' を代わりに使用してください。The feature you are using 'old feature' is no longer supported; please use 'new feature' instead

Al.exe によって以前にサポートされていた機能がサポートされなくなっています。A feature previously supported by Al.exe is now obsolete. 代わりとして推奨されている機能を使用してください。Use the recommended feature instead.
al1051al1051 'attribute' 属性を作成時にエラーが発生しました — 理由Error emitting 'attribute' attribute —'reason'

メッセージに示された原因により、Al.exe によってアセンブリのカスタム属性が処理されませんでした。An assembly custom attribute was not processed by Al.exe for the specified reason.
al1052al1052 ファイル 'filename' はアセンブリではありませんFile 'filename' is not an assembly

/template で指定したファイルには、アセンブリ メタデータが含まれている必要があります。The file specified with /template must contain assembly metadata. このエラーは、/template で指定したファイルにアセンブリが含まれていないことを示します。This error indicates that the file specified by /template did not contain an assembly.
al1053al1053 'option' に指定されたバージョン 'version' は正常な 'major.minor.build.revision' フォーマットではありませんThe version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

/fileversion オプションまたは /productversion オプションで指定されたバージョン情報の形式が正しくないことを、Al.exe が検出しました。Al.exe detected ill-formed version information specified with the /fileversion or /productversion options.
al1054al1054 'option' に指定されたバージョン 'version' は正常な 'major.minor.build.revision' フォーマットではありませんThe version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

SatelliteContractVersionAttribute で指定されたバージョン情報が不正であることを、Al.exe が検出しました。Al.exe detected ill-formed version information specified with the SatelliteContractVersionAttribute.
al1055al1055 参照されたアセンブリ 'filename' は厳密な名前を持っていませんReferenced assembly 'filename' does not have a strong name

このエラーは、厳密な名前を持つアセンブリを作成するときに、厳密な名前を持たないアセンブリを参照した場合に発生します。This error is issued when you are building an assembly with a strong name and reference an assembly that does not have a strong name. これを解決するには、厳密な名前でアセンブリを再生成するか、Sn.exe を使用してアセンブリに厳密な名前を追加する必要があります (Sn.exe についてのドキュメントを参照してください)。To fix this, you must either regenerate your assembly with a strong name, or attach a strong name to the assembly by using Sn.exe (see the documentation for Sn.exe).

このエラーは、一般的には COM モジュールへの参照を Visual Studio IDE を介して C# プロジェクトに追加するときなど、ラッパー アセンブリを介して COM オブジェクトを使用しているときに発生します。A common occurrence of this error is when you are using COM objects by way of wrapper assemblies, such as when you add a reference to a COM module to a C# project by way of the Visual Studio IDE. このエラーを回避するために、プロジェクト プロパティ "Wrapper Assembly Key File/Name" で COM ラッパー アセンブリに対して厳密な名前のキー ファイルを指定できます。To avoid the error, you can specify the strong name key file for COM wrapper assemblies in the Project Property "Wrapper Assembly Key File/Name"

tlbimp を介してラッパー アセンブリを作成する場合、厳密な名前をラッパー アセンブリに割り当てる方法については tlbimp ドキュメントを参照してください。If you are creating the wrapper assembly through tlbimp, see the tlbimp documentation for information about how to assign a strong name to the wrapper assembly.

アセンブリが厳密な名前を持つ場合、そのアセンブリはグローバル アセンブリ キャッシュにインストールできます。If an assembly has a strong name, it can be installed in the global assembly cache. したがって、参照されるアセンブリもグローバル アセンブリ キャッシュに格納する必要があります。Consequently, referenced assemblies would also go into the global assembly cache. グローバル アセンブリ キャッシュには、厳密な名前を持つアセンブリしか格納できません。Only assemblies with strong names can go into the global assembly cache.
al1056al1056 参照されたアセンブリ 'filename' はローカライズされたサテライト アセンブリですReferenced assembly 'filename' is a localized satellite assembly

AssemblyCultureAttribute 属性を使用して作成されたアセンブリが、現在のアセンブリの作成時に参照されました。An assembly created by using the AssemblyCultureAttribute attribute was referenced in creating the current assembly. AssemblyCultureAttribute 属性は、ファイルがローカライズされたサテライト アセンブリであることを示します。サテライト アセンブリを参照することは、適切ではありません。The AssemblyCultureAttribute attribute indicates the file is a localized satellite assembly and it is not appropriate to reference a satellite assembly. 多くの場合、代わりにメインの親アセンブリを参照する必要があります。You should probably reference the main parent assembly instead.
al1057al1057 実行可能ファイルはローカライズできません。カルチャは常に空でなければなりませんExecutables cannot be localized, Culture should always be empty

アセンブリが /target:exe で作成されているのに、/culture が指定されています。An assembly is being created by using /target:exe but /culture was specified. .exe 内のアセンブリは、Culture フィールド内の情報を含むことができません。Assemblies in the .exe cannot have information in the Culture field.
al1058al1058 'file' はアセンブリです。モジュールとして追加することはできません'file' is an assembly and cannot be added as a module

C++ のコンパイルで、/assemblymodule (リンカー オプション) がアセンブリを含むファイルに渡されました。In a C++ compilation, /assemblymodule (linker option) was passed a file that contained an assembly.
al1059al1059 不明なエラー (コード)Unknown error (code)

Al.exe が不明なエラー コード (code) を受け取りました。Al.exe received an unknown error code (code).

解決策として次の方法が挙げられます。Possible solutions include the following:

Visual Studio を再インストールしてください。Reinstall Visual Studio.

Windows SDKWindows SDK を再インストールします。Reinstall the Windows SDKWindows SDK.

ファイルが不足していないかどうかを確認します。Check for missing files.

十分なディスク容量があるかどうかを確認します。Check for adequate disk space.

十分なメモリがあるかどうかを確認します。Check for adequate memory.

同じファイルにアクセスしている可能性のある他のプロセスを停止します。Stop other processes that might be accessing the files.

コンピューターを再起動します。Reboot your computer.
al1060al1060 ハッシュを作成中に暗号化に失敗しました — 理由Cryptographic failure while creating hashes — reason

マルチファイルのアセンブリのファイル ハッシュを作成中にエラーが発生しました。An error occurred while creating the file hashes for a multifile assembly.
al1061al1061 'reason' のため、オプション 'option' を設定できませんCannot set option 'option' because 'reason'

メッセージに示された理由により、このオプションに指定された値は無効です。The value specified for this option is invalid for the specified reason.
al1062al1062 モジュール 'module' が複数回指定されました。指定できるのは 1 回だけですModule 'module' was specified multiple times; it will only be included once

この警告は、コマンド ラインで同じソース ファイル、入力ファイル、またはモジュール ファイルを複数回指定した場合に発生します。This warning is generated when the same source, input, or module file is specified multiple times on the command line. ファイル名は 1 回だけ指定してください。Make sure that you specify the file name only once.
al1063al1063 パブリック型 'type' がこのアセンブリ内の複数の場所で定義されています: 'file1' および 'file2'Public type 'type' is defined in multiple locations in this assembly: 'file1' and 'file2'

アセンブリ内の複数のモジュールで、同じ型が見つかりました。The same type was found in more than one module in the assembly. それぞれの型では、1 つのバージョンのみがアセンブリに存在できます。Only one version of each type may be present in an assembly.
al1064al1064 複数の /bugreport オプションを指定することはできませんCannot specify multiple /bugreport options.

/bugreport オプションは 1 つしか指定できません。Only one /bugreport option is allowed.
al1065al1065 ファイル名 'File Name' が長すぎるか無効ですFile name 'File Name' is too long or invalid

指定されたファイル名が許可される最大値を超えています。The specified file name is longer than the maximum allowed.
al1066al1066 文字 'character' は、コマンド ラインまたは応答ファイルに許可されていませんCharacter 'character' is not allowed on the command-line or in response files

コマンド ラインまたはファイル内に、無効な文字が見つかりました。An invalid character was found, either on the command line or in a file.
al1067al1067 'filename' はテキスト ファイルではなく、バイナリ ファイルです'filename' is a binary file instead of a text file

ファイルはテキストではなく、バイナリ形式です。The file is in binary format instead of text.
al1068al1068 モジュール 'ModuleName' はこのアセンブリ内で既に定義されています。Module 'ModuleName' is already defined in this assembly. リンクされた各リソースおよびモジュールには一意のファイル名を指定しなければなりません。Each linked resource and module must have a unique file name.

モジュールが、このアセンブリに複数回現れています。The module occurs more than once in this assembly.
al1069al1069 同じ短いファイル名を使用している長いファイル名が既に存在するとき、短いファイル名 'filename' を作成することはできませんCannot create short file name 'filename' when a long file name with the same short file name already exists

現在のファイルには、既に存在するファイル名の短いバージョンの名前が付いています。The current file has a name that is the short version of a file name that already exists. たとえば、LongFileName.cs をコンパイルしてから LongFi1.cs という名前で再コンパイルすると、これに似たコンパイラ エラーが発生します。For example, compiling LongFileName.cs and then recompiling with the name LongFi1.cs will cause a compiler error similar to this. 名前が長いコンパイラ出力ファイルが削除されても、類似のリンカー ファイルが残っていると、このエラーが発生することがあります。If the compiler output files that have long names were deleted, but the analogous linker files remained, this error might occur.
al1070al1070 agnostic なアセンブリにプロセッサ固有モジュール 'Module Name' を指定することはできませんAgnostic assembly cannot have a processor specific module 'Module Name'

/platform:agnostic を使用して (または、/platform を指定しないで) ビルドしている場合、/addmodule を使用して、agnostic ではないモジュールを追加しようとすると、エラーが発生します。If you are building using /platform:agnostic (or you don’t specify /platform), an error will be generated if you try to add a module (using /addmodule) that is not agnostic. これは、i386 obj ファイルから ia64 obj ファイルにリンクを試みているのに似ています。This is like trying to link an i386 obj file to an ia64 obj.

agnostic でないモジュールの主なソースは C++ です。The main source of non-agnostic modules is C++. C++ モジュールで /addmodule を使用する場合、ビルド スクリプトを変更して適切な /platform 設定を指定する必要があります。If you are using /addmodule with a C++ module, you may have to modify your build scripts to specify the appropriate /platform setting.
al1072al1072 アセンブリとモジュール 'Module Name' は、異なるプロセッサを対象にすることはできませんAssembly and module 'Module Name' cannot target different processors

異なるプロセッサを対象とするアセンブリとモジュールをリンクすることはできません。結果は 1 つのプロセッサで実行する必要があります。You cannot link an assembly and a module that are targeted for different processors, because the result has to run on a single processor.
al1073al1073 参照アセンブリ 'assembly' は異なるプロセッサを対象にしていますReferenced assembly 'assembly' targets a different processor

異なるプロセッサを対象とする複数のアセンブリをリンクすることはできません。結果は 1 つのプロセッサで実行する必要があります。You cannot link assemblies that are targeted for different processors, because the result has to run on a single processor.
al1074al1074 'File Name' に格納されているモジュール名 'Module Name' は、そのファイル名と一致していなければなりませんModule name 'Module Name' stored in 'File Name' must match its file name

これは、リンカーで必要とされる条件です。This is required of the linker. この問題を解決するには、2 つの名前が一致するようにします。To resolve this problem, make the two names match.
al1075al1075 遅延署名が要求されましたが、キーが指定されませんでしたDelay signing was requested, but no key was given

アセンブリを遅延署名に設定すると、コンパイラは署名の計算も格納も行いませんが、後で署名を追加できるようにファイルに領域を確保します。When an assembly is delay signed, the compiler does not compute and store the signature, but reserves space in the file so the signature can be added later.

たとえば、/delaysign+ を指定すると、テスト時にはアセンブリをグローバル キャッシュに格納できます。For example, using /delaysign+ enables a tester to put the assembly in the global cache. テスト後に、アセンブリ リンカー ユーティリティを使用してアセンブリに秘密キーを追加することにより、そのアセンブリに完全署名できます。After testing, you can fully sign the assembly by adding the private key to the assembly by using the Assembly Linker utility.
al1076al1076 型 'type' は複数のアセンブリに転送されています: 'assembly' および 'assembly'Type 'type' is forwarded to multiple assemblies: 'assembly' and 'assembly'.

型は 1 つのアセンブリにのみ転送できます。A type can only be forwarded to one assembly.
al1077al1077 パブリック型 'type' は 'assembly' で定義され、'assembly' に転送されています。Public type 'type' is defined in 'assembly' and forwarded to 'assembly'.

生成するアセンブリに重複するパブリック型があります。There is a duplicate public type in the assembly being generated. 1 つが有効な型定義で、その他は型フォワーダーです。One is a valid type definition and the other is a type forwarder.

Example

t2.netmodule モジュールからアセンブリを含む実行可能ファイル t2a.exe を作成するコマンドを次に示します。The following command creates an executable file t2a.exe with an assembly from the t2.netmodule module. エントリ ポイントは、Main 内の MyClass メソッドです。The entry point is the Main method in MyClass.

al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main

関連項目See also