Al.exe (компоновщик сборок)Al.exe (Assembly Linker)

Компоновщик сборок создает файл с манифестом сборки из одного или нескольких файлов, являющихся модулями или файлами ресурсов.The Assembly Linker generates a file that has an assembly manifest from one or more files that are either modules or resource files. Модуль — это файл промежуточного языка (IL) без манифеста сборки.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 (или командной строкой Visual Studio в Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Дополнительные сведения см. в разделе Командные строки.For more information, see Command Prompts.

В командной строке введите следующее.At the command prompt, type the following:

СинтаксисSyntax

al sources options

ПараметрыParameters

В качестве параметра sources можно указать одно или несколько следующих значений.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.exe компилирует файл target в сборку.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 является файлом ресурсов .NET Framework, созданным, например, генератором файлов ресурсов (Resgen.exe) или в среде разработки, то к нему можно обращаться с помощью членов пространства имен 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. Чтобы получить доступ ко всем остальным ресурсам во время выполнения, используйте методы GetManifestResource* в классе Assembly.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.exe копирует file .The target parameter specifies a path and file name into which Al.exe copies the file. После копирования программа Al.exe компилирует файл target в сборку.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 является файлом ресурсов .NET Framework, созданным, например, генератором файлов ресурсов (Resgen.exe) или в среде разработки, то к нему можно обращаться с помощью членов пространства имен 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. Для получения дополнительных сведений о других алгоритмах см. раздел "ALG_ID" в документации Platform SDK.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 и операционная система не перемещает библиотеки в пространстве процесса.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 задан, параметр /company не повлияет на сведения о ресурсах Win32.If you specify /win32res, /company will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 задан, параметр /copyright не повлияет на сведения о ресурсах Win32.If you specify /win32res, /copyright will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 1766 "Теги для идентификации языков".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.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 задан, параметр /description не повлияет на сведения о ресурсах Win32.If you specify /win32res, /description will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 Внедряет файл file в сборку с именем ресурса "Security.Evidence".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 File Version будет взят из ресурса Win32 Assembly Version.If you do not specify /fileversion, the Win32 File Version resource will be populated by the Win32 Assembly Version resource.

Если параметр /win32res задан, элемент /fileversion не оказывает влияния на ресурс Win32.If /win32res is specified, /fileversion does not affect the Win32 resource.

Этот параметр можно также указать в исходном коде любого модуля СIL в качестве настраиваемого атрибута (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
Сборка является параллельно совместимой.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.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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. При успешном завершении сборка подписывается данными из файла ключей, и сведения о ключах будут помещены в контейнер ключей (аналогично действию параметра "-i" в программе Sn.exe), так что при следующей компиляции параметр /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.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 задан, параметр /product не повлияет на сведения о ресурсах Win32.If you specify /win32res, /product will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 Product Version будет взят из ресурса Win32 File Version.If you do not specify /productversion, the Win32 Product Version resource will be populated by the Win32 File Version resource.

Если параметр /win32res задан, параметр /productversion не повлияет на сведения о ресурсах Win32.If you specify /win32res, /productversion will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 задан, параметр /title не повлияет на сведения о ресурсах Win32.If you specify /win32res, /title will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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 задан, параметр /trademark не повлияет на сведения о ресурсах Win32.If you specify /win32res, /trademark will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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. Если заданы значения major и minor, можно указать знак звездочки (*) для build.If you specify major and minor, you can specify an asterisk (*)for build. В этом случае значение build будет равно количеству дней, прошедших с 1 января 2000 г. по местному времени, а значение revision будет равно количеству секунд, прошедших с полуночи текущего дня по местному времени, деленному на 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.

Если заданы значения major, minor и build, можно указать знак звездочки для revision.If you specify major, minor, and build, you can specify an asterisk for revision. В этом случае значение revision будет равно половине числа секунд, прошедших с полуночи текущего дня по местному времени.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 (то есть в диапазоне от 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 не указаны, элемент /version будет использоваться в качестве ресурсов Win32 Assembly Version, File Version и Product Version.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 задан, параметр /version не повлияет на сведения о ресурсах Win32.If you specify /win32res, /version will not affect the Win32 resource information.

Этот параметр можно также указать в исходном коде любого модуля CIL в качестве настраиваемого атрибута (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.

Команды в файле ответов могут быть расположены в отдельных строках или в одну строку с одним или несколькими пробелами в качестве разделителей.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. Но при наличии одного или нескольких модулей (метаданных без манифеста) можно создать сборку с манифестом в отдельном файле при помощи программы 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 После параметра компилятора "параметр" следует указать аргумент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 Непредусмотренная ошибка при инициализации Common Language Runtime — "причина"Unexpected common language runtime initialization error — 'reason'

Программа Al.exe сообщает об ошибке установки Visual Studio или среды CLR, возникшей по указанной причине.Al.exe reported an error with the installation of Visual Studio or the common language runtime for the specified reason.
al1005al1005 Невозможно открыть файл "файл" — его размер недопустимо великFile 'file' too big to open

Программа Al.exe не может открыть файл, размер которого превышает 4 ГБ.All files opened by Al.exe must be smaller than 4 gigabytes (GB).
al1006al1006 Файл ответа "файл" уже был включенResponse file 'file' was already included

В командной строке несколько раз указан один и тот же файл ответов (@file).The same response file was specified (@file) more than once on the command line. Файл ответов можно включить только один раз.The response file can only be included once.
al1007al1007 Ошибка при открытии файла ответа "файл" — "причина"Error opening response file 'file' — 'reason'

Программа Al.exe не может открыть указанный файл ответов по указанной причине.Al.exe cannot open the specified response file for the specified reason.
al1008al1008 Не задан файл для параметра "параметр"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 Не удается открыть файл "файл" для записи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 Ошибка в синтаксисе командной строки: отсутствует ":текст" для параметра "параметр"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' 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' 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 Нераспознанный параметр командной строки: "параметр"Unrecognized command-line option: 'option'

Задан недопустимый параметр командной строки.An invalid command-line option was specified.
al1014al1014 Непредусмотренная ошибка инициализации — "причина"Unexpected initialization error — 'reason'

Программа Al.exe обнаружила ошибку инициализации COM.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. Аналогичное сообщение об ошибке, скорее всего, будет появляться при запуске любых приложений, совместимых с Automation или 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. При необходимости скопируйте его с компакт-диска продукта.If necessary, copy it from the product CD.
al1016al1016 Не указаны допустимые входные файлы.No valid input files were specified

Программе Al.exe требуется один или несколько входных файлов, которые не содержат данных сборки.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 Не удалось загрузить требуемый файл "файл"Required file 'file' could not be loaded

Не удалось загрузить определенные файлы DLL.Certain DLL files cannot be loaded. Переустановите Visual Studio или пакет средств разработки программного обеспечения (SDK) Windows.Reinstall Visual Studio or the 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 Включенная сборка "файл" игнорируется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 Ошибка при чтении внедренного ресурса "файл" — причина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 Ошибка при внедрении ресурса "файл" — причинаError embedding resource 'file' — reason

Операционная система не может внедрить файл ресурсов в сборку по указанной причине.The operating system cannot embed the resource file in the assembly for the specified reason.
al1025al1025 Запись ComType "запись" указывает на недопустимую запись файла "запись"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 Указана недопустимая версия "версия"The version specified 'version' is invalid

Перечень допустимых форматов см. в описании параметра /version.See information about the /version option for valid formats.
al1028al1028 В файле ключей "файл" отсутствует закрытый ключ, который требуется для создания подписи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 Имя контейнера ключа "контейнер" не существует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 Ошибка при считывании значка "файл" — причина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 Ошибка при генерировании ресурсов для "файл" — причинаError generating resources for 'file' — reason

Программе Al.exe не удалось создать файл из-за нехватки места на диске или другой ошибки.Al.exe cannot create a file because of insufficient disk space or some other error. Эта ошибка появляется при задании параметра /win32icon (служащего для создания ICO-файла) или при отсутствии параметра /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, который служит для указания файла, содержащего сведения о версии или растровом изображении (значке).If you cannot resolve the file generation problem, use /win32res, which specifies a file that can contain version or bitmap (icon) information.
al1033al1033 Особый атрибут сборки "атрибут" задан несколько раз с разными значениямиAssembly custom attribute 'attribute' was specified multiple times with different values

Один и тот же пользовательский атрибут имеет различные значения в исходных модулях, которые указаны в качестве входных для Al.exe.Different values were passed to two occurrences of the same custom attribute in source modules that are specified as input to Al.exe.
al1034al1034 Невозможно скопировать или переименовать сборку "файл"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 SDK.Reinstall Visual Studio or the Windows 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': 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

В качестве входного файла для программы Al.exe указан 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 Имя файла манифеста "имя" не может совпадать ни с одним из имен модулей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 Ошибка при считывании файла ключа "файл" — причина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 Слишком длинное или недопустимое имя файла "файл"Filename 'file' is too long or invalid

Программе Al.exe передано имя файла, содержащее более 260 символов.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 Идентификатор ресурса "идентификатор" в этой сборке уже использованResource identifier 'ID' has already been used in this assembly

Два ресурса, внедренные или связанные, имеют одинаковые идентификаторы или имена (второй аргумент).Two resources, embedded or linked, have the same identifier or name (the second argument). Удалите или переименуйте один из конфликтующих ресурсов.Remove or rename one of the conflicting resources.
al1047al1047 Ошибка при импорте файла "файл" — причинаError importing file 'file' — reason

Не удается открыть файл модуля по указанной причине.A module file cannot be opened for the specified reason.
al1048al1048 Ошибка при импорте модуля "модуль" сборки "сборка" — причина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 Невозможно автоматически сгенерировать номера сборки и редакции для дат ранее 1 января 2000 г.Cannot auto-generate build and revision version numbers for dates before January 1, 2000

Системные часы компьютера установлены на дату ранее 1 января 2000 г.The system clock on your computer is set to a date earlier than January 1, 2000.
al1050al1050 Используемая функция "старая функция" больше не поддерживается; вместо нее используйте "новая функция"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 Ошибка при порождении атрибута "атрибут" — "причина"Error emitting 'attribute' attribute —'reason'

Пользовательский атрибут сборки не был обработан программой Al.exe по указанной причине.An assembly custom attribute was not processed by Al.exe for the specified reason.
al1052al1052 Файл "имя файла" не является сборкой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 Версия "версия" для "параметр" указана не в формате "главная.вспомогательная.сборка.редакция"The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Программа Al.exe обнаружила неправильный формат номера версии, заданного параметром /fileversion или /productversion.Al.exe detected ill-formed version information specified with the /fileversion or /productversion options.
al1054al1054 Версия "версия" для "параметр" указана не в формате "главная.вспомогательная.сборка.редакция"The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Программа Al.exe обнаружила неправильный формат номера версии, заданного параметром SatelliteContractVersionAttribute.Al.exe detected ill-formed version information specified with the SatelliteContractVersionAttribute.
al1055al1055 Сборка "имя файла", на которую дана ссылка, не имеет строгого имени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-объектов посредством сборок-оболочек, например при добавлении в проект C# ссылки на модуль COM с помощью интегрированной среды разработки Visual Studio.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. Чтобы избежать этой ошибки, можно указать файл ключей строгого имени для сборок-оболочек 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 Сборка "имя файла", на которую дана ссылка, является сборкой языкового дополнения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-файлах должны иметь пустое поле "Культура".Assemblies in the .exe cannot have information in the Culture field.
al1058al1058 "файл" является сборкой и не может добавляться в качестве модуля'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 SDK.Reinstall the Windows 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 Невозможно задать параметр "параметр" по причине "причина"Cannot set option 'option' because 'reason'

Значение, указанное для параметра, недопустимо по указанной причине.The value specified for this option is invalid for the specified reason.
al1062al1062 Модуль "модуль" был указан несколько раз. Он будет включен только один раз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. Убедитесь в том, что имя файла указано только один раз.Make sure that you specify the file name only once.
al1063al1063 Открытый тип "тип" определен в нескольких местах в данной сборке: "файл1" и "файл2"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. В сборке может присутствовать только одна версия каждого типа.Only one version of each type may be present in an assembly.
al1064al1064 Задание нескольких параметров /bugreport недопустимо.Cannot specify multiple /bugreport options.

Можно задать только один параметр /bugreport.Only one /bugreport option is allowed.
al1065al1065 Слишком длинное или недопустимое имя файла "имя файла"File name 'File Name' is too long or invalid

Длина указанного имени файла превышает допустимый максимум.The specified file name is longer than the maximum allowed.
al1066al1066 Использование символа "символ" в командной строке или в ответных файлах не допускается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' is a binary file instead of a text file

Файл имеет двоичный формат вместо текстового.The file is in binary format instead of text.
al1068al1068 Модуль "имя модуля" уже определен в данной сборке.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 Невозможно создать короткое имя файла "имя файла", если уже существует длинное имя файла, содержащее это короткое имя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, а затем повторно скомпилировать его с именем LongFi~1.cs.For example, compiling LongFileName.cs and then recompiling with the name LongFi~1.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 assembly cannot have a processor specific module 'Module Name'

Если сборка выполняется с использованием аргумента /platform:agnostic (или если параметр /platform не указан), то при попытке добавить (с помощью /addmodule) модуль, не являющийся агностическим, возникнет ошибка.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. Это аналогично попытке связать OBJ-файл i386 с OBJ-файлом ia64.This is like trying to link an i386 obj file to an ia64 obj.

Основным источником неагностических модулей является C++.The main source of non-agnostic modules is C++. Если параметр /addmodule используется для добавления модуля C++, может потребоваться изменить скрипты сборки, указав соответствующее значение /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 Сборка и модуль "имя модуля" не могут предназначаться для разных процессоровAssembly and module 'Module Name' cannot target different processors

Сборку и модуль нельзя связать друг с другом, если они предназначены для разных процессоров, так как результат должен выполняться на каком-то одном процессоре.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 Сборка "сборка", на которую дается ссылка, предназначена для другого процессораReferenced assembly 'assembly' targets a different processor

Сборки нельзя связать друг с другом, если они предназначены для разных процессоров, так как результат должен выполняться на каком-то одном процессоре.You cannot link assemblies that are targeted for different processors, because the result has to run on a single processor.
al1074al1074 Имя модуля "имя модуля", сохраненное в "имя файла", должно соответствовать своему имени файлаModule name 'Module Name' stored in 'File Name' must match its file name

Это обязательное требование к компоновщику.This is required of the linker. Для решения проблемы приведите имена в соответствие друг другу.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 'type' is forwarded to multiple assemblies: 'assembly' and 'assembly'.

Каждый тип может быть передан только в одну сборку.A type can only be forwarded to one assembly.
al1077al1077 Общий тип "тип" определен в "сборка" и передан для "сборка"Public type 'type' is defined in 'assembly' and forwarded to 'assembly'.

В создаваемой сборке обнаружен дубликат открытого типа.There is a duplicate public type in the assembly being generated. Один экземпляр представляет допустимое определение типа, а второй является переадресатором типа.One is a valid type definition and the other is a type forwarder.

ПримерExample

Следующая команда создает исполняемый файл t2a.exe со сборкой из модуля t2.netmodule.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