Al.exe (компоновщик сборок)
Компоновщик сборок создает файл с манифестом сборки из одного или нескольких файлов, являющихся модулями или файлами ресурсов. Модуль — это файл промежуточного языка (IL) без манифеста сборки.
Примечание.
Начиная с Visual Studio 2008, компиляторы C# и Visual Basic автоматически внедряют манифест Win32 в сборку. Дополнительные сведения см. в разделе -win32manifest (параметры компилятора C#).
Эта программа автоматически устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.
Введите в командной строке: .
Синтаксис
al sources options
Параметры
В качестве параметра sources
можно указать одно или несколько следующих значений.
Оригинал | Description |
---|---|
file [,target ] |
Копирует содержимое файла file (модуля) в файл, указанный параметром target . После копирования программа Al.exe компилирует файл target в сборку. |
/embed[resource]: file [,name [,private ]] |
Внедряет ресурс, указанный параметром file , в образ, содержащий манифест сборки. Программа Al.exe копирует содержимое файла file в переносимый исполняемый образ (PE-файл).Параметр name задает внутренний идентификатор ресурса. По умолчанию ресурсы в сборке открыты (то есть доступны для других сборок). При указании параметра private ресурс будет скрыт от других сборок.Если file является файлом ресурсов .NET Framework, созданным, например, генератором файлов ресурсов (Resgen.exe) или в среде разработки, то к нему можно обращаться с помощью членов пространства имен System.Resources. Дополнительные сведения см. в разделе ResourceManager. Чтобы получить доступ ко всем остальным ресурсам во время выполнения, используйте методы GetManifestResource* в классе Assembly.Если в программу Al.exe передаются только файлы ресурсов, результатом работы является вспомогательная сборка ресурсов. |
/link[resource]: file [,name [,target [,private ]]] |
Связывает файл ресурсов со сборкой. Ресурс, заданный параметром file , становится частью сборки; файл не копируется. Файл, заданный параметром file , может иметь любой формат. Например, в качестве параметра file можно указать библиотеку DLL в машинном коде. После выполнения этой команды библиотека DLL в машинном коде станет частью сборки, так что она может быть установлена в глобальный кэш сборок и станет доступна из управляемого кода в сборке. Аналогичную операцию можно выполнить с помощью параметра компилятора /linkresource. См. сведения в разделе -linkresource (параметры компилятора C#).Параметр name задает внутренний идентификатор ресурса. Параметр target задает путь и имя файла, в который Al.exe копируется file . После копирования Al.exe компилируется target в сборку. По умолчанию ресурсы в сборке открыты (то есть доступны для других сборок). При указании параметра private ресурс будет скрыт от других сборок.Если file является файлом ресурсов .NET Framework, созданным, например, генератором файлов ресурсов (Resgen.exe) или в среде разработки, то к нему можно обращаться с помощью членов пространства имен System.Resources. Дополнительные сведения см. в разделе ResourceManager. Чтобы получить доступ ко всем остальным ресурсам во время выполнения, используйте методы GetManifestResource* в классе Assembly.Если в программу Al.exe передаются только файлы ресурсов, результатом работы является вспомогательная сборка ресурсов. |
В качестве options
можно задать следующие параметры; необходимо указать /out.
Вариант | Описание |
---|---|
/algid: id |
Задает алгоритм хэширования всех файлов многофайловой сборки, кроме файла, содержащего манифест сборки. По умолчанию используется алгоритм CALG_SHA1. Для получения дополнительных сведений о других алгоритмах см. раздел "ALG_ID" в документации Platform SDK. В первом выпуске .NET Framework доступны только алгоритмы CALG_SHA1 и CALG_MD5. Хэш-значения хранятся в таблице файлов манифеста сборки. Во время установки и загрузки файлы сборки сравниваются со своими хэш-значениями. Этот параметр можно также указать в исходном коде любого модуля в качестве настраиваемого атрибута (AssemblyAlgorithmIdAttribute). |
/base[address]: addr |
Задает адрес для загрузки библиотеки DLL на компьютер пользователя во время выполнения. Приложения загружаются быстрее, если задан базовый адрес библиотеки DLL и операционная система не перемещает библиотеки в пространстве процесса. |
/bugreport: filename |
Создает файл (filename ), содержащий сведения об обнаруженных ошибках. |
/comp[any]: text |
Задает строковое значение поля "Company" в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, строка text отображается в проводнике как свойство Company для файла. Если параметр /win32res указан, сведения о компании в указанном файле ресурсов отображаются в проводнике как свойство Company .Если вместо текста указана пустая строка (""), ресурс Win32 Company отображается в виде одиночного пробела.Если параметр /win32res задан, параметр /company не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyCompanyAttribute) в исходном коде для любого модуля CIL. |
/config[uration]: text |
Задает строковое значение поля "Configuration" в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если вместо текста указана пустая строка, ресурс Win32 "Configuration" отображается в виде одного пробела. Этот параметр также можно указать как настраиваемый атрибут (AssemblyConfigurationAttribute) в исходном коде для любого модуля CIL. |
/copy[right]: text |
Задает строковое значение поля "Copyright" в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, строка /copyright будет отображаться в проводнике как ресурс Win32 "Copyright". Если вместо текста указана пустая строка, ресурс Win32 "Copyright" отображается в виде одного пробела. Если параметр /win32res задан, параметр /copyright не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyCopyrightAttribute) в исходном коде для любого модуля CIL. |
/c[ulture]: text |
Задает строковое значение языка и региональных параметров для связывания со сборкой. Допустимые значения этого параметра определяются документом RFC 1766 "Теги для идентификации языков". Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Строковое значение языка и региональных параметров по умолчанию не указано. Эта строка доступна для просмотра с отражением.Дополнительные сведения о допустимых строках text см. в разделе CultureInfo.Этот параметр также можно указать как настраиваемый атрибут (AssemblyCultureAttribute) в исходном коде для любого модуля CIL. |
/delay[sign][+ or -] |
Указывает, будет ли сборка полностью или частично подписана. Если требуется полностью подписанная сборка, используйте /delaysign-. Если необходимо только поместить открытый ключ в сборку, используйте параметр /delaysign+. При запросе полностью подписанной сборки программа Al.exe хэширует файл, содержащий манифест (метаданные сборки), и подписывает хэш закрытым ключом. Итоговая цифровая подпись хранится в файле, содержащем манифест. При использовании отложенной подписи программа Al.exe не вычисляет и не сохраняет подпись, а просто резервирует место в файле для последующего добавления подписи в сборку. Значение по умолчанию — /delaysign-. Параметр /delaysign не оказывает никакого влияния, за исключением применения с /keyfile или /keyname. Например, чтобы поместить сборку в глобальный кэш для тестирования, используйте параметр /delaysign+. После тестирования можно полностью подписать сборку, поместив в нее закрытый ключ. Прежде чем использовать средство глобального кэша сборок (Gacutil.exe) для помещения сборки с отложенной подписью в глобальный кэш, зарегистрируйте сборку с помощью средства для работы со строгими именами (Sn.exe) для пропуска проверки. Например, Sn.exe –Vr delaySignedAssembly . Такой метод следует использовать только при разработке.Этот параметр также можно указать как настраиваемый атрибут (AssemblyDelaySignAttribute) в исходном коде для любого модуля CIL. |
/descr[iption]: text |
Задает строковое значение поля Description в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, элемент /description будет отображаться в проводнике как ресурс Win32 Comments. Если вместо текста указана пустая строка, ресурс Win32 Comments отображается в виде одиночного пробела. Если параметр /win32res задан, параметр /description не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (Description) в исходном коде для любого модуля CIL. |
/e[vidence]: file |
Внедряет файл file в сборку с именем ресурса "Security.Evidence".Имя "Security.Evidence" нельзя использовать для обычных ресурсов. |
/fileversion: version |
Задает строковое значение поля File Version в сборке. Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением. Если параметр /win32res не указан, элемент /fileversion будет использоваться в качестве ресурса Win32 File Version. Если параметр /fileversion не указан, ресурс Win32 File Version будет взят из ресурса Win32 Assembly Version. Если параметр /win32res задан, элемент /fileversion не оказывает влияния на ресурс Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyFileVersionAttribute) в исходном коде для любого модуля CIL. |
/flags: flags |
Задает значение для поля Flags в сборке. Возможные значения параметра flags .0x0000 Сборка является параллельно совместимой. 0x0010 Сборка не может выполняться одновременно с другими своими версиями, если они выполняются в одном домене приложения. 0x0020 Сборка не может выполняться одновременно с другими своими версиями, если они выполняются в одном процессе. 0x0030 Сборка не может выполняться с другими версиями, выполняемыми на том же компьютере. Этот параметр также можно указать как настраиваемый атрибут (AssemblyFlagsAttribute) в исходном коде для любого модуля CIL. |
/fullpaths | Указывает, что в программе Al.exe должны использоваться абсолютные пути для всех файлов, имена которых присутствуют в сообщении об ошибке. |
/help | Отображает синтаксис команд и параметров программы. |
/keyf[ile]: filename |
Задает файл (filename ), содержащий пару ключей или только открытый ключ для подписывания сборки. Компилятор вставляет открытый ключ в манифест сборки, а затем подписывает окончательную сборку закрытым ключом. Сведения о создании файлов ключей и установке пар ключей в контейнеры ключей см. в разделе Программа строгих имен (Sn.exe).Если используется отложенная подпись, в этом файле обычно помещается открытый, а не закрытый ключ. Данные открытого ключа (из пары ключей) находятся в поле "publickey" сборки. Этот параметр также можно указать как настраиваемый атрибут (AssemblyKeyFileAttribute) в исходном коде для любого модуля CIL. Если указаны оба параметра /keyfile и /keyname (в командной строке или с помощью настраиваемого атрибута) в одной компиляции, программа Al.exe сначала попытается обработать контейнер, заданный параметром /keyname. При успешном завершении сборка подписывается данными контейнера ключей. Если Al.exe не обнаружит контейнер ключей, будет предпринята попытка использовать файл, заданный параметром /keyfile. При успешном завершении сборка подписывается данными из файла ключей, и сведения о ключах будут помещены в контейнер ключей (аналогично действию параметра "-i" в программе Sn.exe), так что при следующей компиляции параметр /keyname будет действительным. |
/keyn[ame]: text |
Задает контейнер, хранящий пару ключей. При этом сборка (ей следует присвоить строгое имя) будет подписана путем вставки открытого ключа в манифест сборки. Затем программа Al.exe подпишет окончательную сборку закрытым ключом. Для создания пары ключей используется программа Sn.exe. Данные ключа отображаются в поле "publickey" сборки. Если строка text содержит пробел, заключите ее в двойные кавычки ("").Этот параметр также можно указать как настраиваемый атрибут (AssemblyKeyNameAttribute) в исходном коде для любого модуля CIL. |
/main: method |
Задает полное имя (class .method ) метода, являющегося точкой входа при преобразовании модуля в исполняемый файл. |
/nologo | Отключает отображение эмблемы или логотипа в командной строке при вызове программы Al.exe. |
/out: filename |
Задает имя файла, создаваемого программой Al.exe. Это обязательный параметр. |
/platform: text |
Ограничивает платформы, на которых может работать этот код: x86, Itanium, x64, anycpu (по умолчанию) или anycpu32bitpreferred. |
/prod[uct]: text |
Задает строковое значение поля Product в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, элемент /product будет отображаться в проводнике как ресурс Win32 Product Name. Если вместо текста указана пустая строка, ресурс Win32 Product Name отображается в виде одного пробела. Если параметр /win32res задан, параметр /product не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyProductAttribute) в исходном коде для любого модуля CIL. |
/productv[ersion]: text |
Задает строковое значение поля Product Version в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, элемент /productversion будет использоваться в качестве ресурса Win32 Product Version. Если параметр /productversion не указан, ресурс Win32 Product Version будет взят из ресурса Win32 File Version. Если параметр /win32res задан, параметр /productversion не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyInformationalVersionAttribute) в исходном коде для любого модуля CIL. |
/t[arget]: lib[rary] | exe | win[exe] |
Задает формат выходного файла: lib[rary] (библиотека кода), exe (консольное приложение) или win[exe] (приложение Windows). Значение по умолчанию — lib[rary] . |
/template: filename |
Задает сборку filename , от которой требуется унаследовать все метаданные сборки, кроме поля языка и региональных параметров.Сборка, созданная с помощью параметра /template, является вспомогательной. |
/title: text |
Задает строковое значение поля Title в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, значение параметра /title отображается в проводнике как ресурс Win32 Description, используемый оболочкой в качестве понятного имени приложения. Он также отображается в подменю Открыть с помощью контекстного меню типов файлов, поддерживаемых несколькими приложениями. Если вместо текста указана пустая строка, ресурс Win32 Description отображается в виде одного пробела. Если параметр /win32res задан, параметр /title не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyTitleAttribute) в исходном коде для любого модуля CIL. |
/trade[mark]: text |
Задает строковое значение поля Trademark в сборке. Если значение параметра text содержит пробел, строку следует заключить в двойные кавычки (""). Эта строка является настраиваемым атрибутом сборки и доступна для просмотра с отражением.Если параметр /win32res не указан, элемент /trademark будет отображаться в проводнике как ресурс Win32 Trademark. Если вместо текста указана пустая строка, ресурс Win32 Trademark отображается в виде одного пробела. Если параметр /win32res задан, параметр /trademark не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyTrademarkAttribute) в исходном коде для любого модуля CIL. |
/v[ersion]: version |
Определяет сведения о версии данной сборки. Формат строки версии — major .minor .build ..revision Значение по умолчанию — 0.При указании параметра /version необходимо также указать параметр major . При указании major и minor можно указать звездочку (*)для build . В этом случае значение build будет равно количеству дней, прошедших с 1 января 2000 г. по местному времени, а значение revision будет равно количеству секунд, прошедших с полуночи текущего дня по местному времени, деленному на 2.Если заданы значения major , minor и build , можно указать знак звездочки для revision . В этом случае значение revision будет равно половине числа секунд, прошедших с полуночи текущего дня по местному времени.Итак, допускаются следующие форматы строки версии. X X.X X.X.* X.X.X X.X.X.* X.X.X.X где X — любая короткая целая константа без знака, кроме 65535 (то есть в диапазоне от 0 до 65534). Если параметр /win32res не указан, элемент /version будет использоваться в качестве ресурса Win32 Assembly Version. Если параметры /win32res, /productversion и /fileversion не указаны, элемент /version будет использоваться в качестве ресурсов Win32 Assembly Version, File Version и Product Version. Если параметр /win32res задан, параметр /version не повлияет на сведения о ресурсах Win32. Этот параметр также можно указать как настраиваемый атрибут (AssemblyVersionAttribute) в исходном коде для любого модуля CIL. |
/win32icon: filename |
Внедряет в сборку ICO-файл. ICO-файл является изображением значка выходного файла в проводнике. |
/win32res: filename |
Вставляет файл ресурсов Win32 (RES-файл) в выходной файл. Файл ресурсов Win32 может быть создан компилятором ресурсов. Компилятор ресурсов вызывается при компиляции программы Visual C++; RES-файл создается из RC-файла. |
@filename |
Задает файл ответов, содержащий команды программы Al.exe. Команды в файле ответов могут быть расположены в отдельных строках или в одну строку с одним или несколькими пробелами в качестве разделителей. |
/? | Отображает синтаксис команд и параметров программы. |
Замечания
Все компиляторы Visual Studio создают сборки. Но при наличии одного или нескольких модулей (метаданных без манифеста) можно создать сборку с манифестом в отдельном файле при помощи программы Al.exe.
Для установки сборок в кэш, удаления сборок из кэша и просмотра содержимого кэша служит программа глобального кэша сборок (Gacutil.exe).
Ошибки и предупреждения
В таблице ниже перечислены ошибки, создаваемые программой Al.exe.
Ошибка | Описание |
---|---|
al1001 | Внутренняя ошибка компилятора Возможно, ошибка возникает из-за сбоя Al.exe при попытке проанализировать неправильный синтаксис. Если это не так, обратитесь в службу поддержки продуктов Майкрософт. |
al1002 | Недостаточно памяти Программа Al.exe исчерпала все ресурсы памяти и была остановлена. Увеличьте объем доступной памяти. |
al1003 | После параметра компилятора "параметр" следует указать аргумент В программе Al.exe для параметра командной строки должен быть задан аргумент. Например, после параметра /algid: требуется указать идентификатор алгоритма. |
al1004 | Непредусмотренная ошибка при инициализации Common Language Runtime — "причина" Программа Al.exe сообщает об ошибке установки Visual Studio или среды CLR, возникшей по указанной причине. |
al1005 | Невозможно открыть файл "файл" — его размер недопустимо велик Программа Al.exe не может открыть файл, размер которого превышает 4 ГБ. |
al1006 | Файл ответа "файл" уже был включен В командной строке несколько раз указан один и тот же файл ответов ( @file ). Файл ответов можно включить только один раз. |
al1007 | Ошибка при открытии файла ответа "файл" — "причина" Программа Al.exe не может открыть указанный файл ответов по указанной причине. |
al1008 | Не задан файл для параметра "параметр" В программе Al.exe для параметра командной строки должен быть указан файл. Например, при задании параметра /out требуется указать файл. |
al1009 | Не удается открыть файл "файл" для записи Программе Al.exe не удалось выполнить запись в файл, например в выходной файл сборки. Возможно, диск переполнен, файл доступен только для чтения, или у вас нет разрешений на доступ к файлу. |
al1010 | Синтаксическая ошибка в командной строке: для параметра "параметр" отсутствует ":< текст>" В программе Al.exe для параметра командной строки должен быть задан аргумент. Например, при задании параметра /title требуется указать строку. |
al1011 | Файл "файл" является выполняемым и не может быть открыт как текстовый файл Вместо текстового файла был указан двоичный. Эта ошибка может возникнуть, например, при указании двоичного файла в командной строке в качестве файла ответов. |
al1012 | "значение" является недопустимым значением параметра "параметр" Параметру командной строки передано неожиданное значение. Например, эта ошибка возникает, если указано недопустимое значение для параметра /target. |
al1013 | Нераспознанный параметр командной строки: "параметр" Задан недопустимый параметр командной строки. |
al1014 | Непредусмотренная ошибка инициализации — "причина" Программа Al.exe обнаружила ошибку инициализации COM. Эта ошибка может быть вызвана нехваткой памяти, но чаще всего она связана с системными файлами DLL. Аналогичное сообщение об ошибке, скорее всего, будет появляться при запуске любых приложений, совместимых с Automation или COM, например Microsoft Visual Studio. Переустановите операционную систему. |
al1015 | Не удалось найти файл сообщений "alinkui.dll" Программе Al.exe требуется файл Alinkui.dll. Обеспечьте доступ к нему. При необходимости скопируйте его с компакт-диска продукта. |
al1016 | Не указаны допустимые входные файлы. Программе Al.exe требуется один или несколько входных файлов, которые не содержат данных сборки. |
al1017 | Не указано имя выходного файла Отсутствует обязательный параметр /out, задающий имя целевого файла. |
al1018 | Не удалось загрузить требуемый файл "файл" Не удалось загрузить определенные файлы DLL. Переустановите Visual Studio или Windows SDK. |
al1019 | Сбой метаданных при создании сборки — причина Генерация сборки прервана по указанной причине. Например, эта ошибка возникает, если не найден файл, указанный в качестве аргумента параметра /win32res. |
al1020 | Включенная сборка "файл" игнорируется В качестве входного файла был указан файл, содержащий сборку. Входные файлы Al.exe не должны содержать сборки. |
al1021 | "параметр" : предыдущее значение перезаписывается Значение определенного параметра модуля, возможно, присвоенное с помощью пользовательских атрибутов, переопределяется значением, переданным с помощью параметра командной строки Al.exe. |
al1022 | Ошибка при чтении внедренного ресурса "файл" — причина Программа Al.exe не может прочитать файл, указанный в параметре /embedresource, по указанной причине. |
al1023 | Ошибка при внедрении ресурса "файл" — причина Операционная система не может внедрить файл ресурсов в сборку по указанной причине. |
al1025 | Запись ComType "запись" указывает на недопустимую запись файла "запись" Метаданные входного модуля являются недопустимыми. Необходимо исправить инструмент, с помощью которого создавался модуль. |
al1026 | Указана недопустимая версия "версия" Перечень допустимых форматов см. в описании параметра /version. |
al1028 | В файле ключей "файл" отсутствует закрытый ключ, который требуется для создания подписи В качестве аргумента параметра /keyfile указан файл, содержащий только открытый ключ. Используя средство для работы со строгими именами (Sn.exe), создайте файл, содержащий и открытый, и закрытый ключи, как показано в примере команды ниже. sn -k keypair.snk. |
al1029 | Имя контейнера ключа "контейнер" не существует В качестве аргумента параметра /keyname указан недопустимый контейнер. Создайте контейнер, используя средство для работы со строгими именами (Sn.exe). |
al1030 | Криптографическая служба установлена неверно или не имеет подходящего поставщика ключа Возможно, вам потребуется переустановить операционную систему или установить криптографическое средство, с помощью которого был создан ключ. |
al1031 | Ошибка при считывании значка "файл" — причина Программа Al.exe не может прочитать файл, указанный в параметре /win32icon, по указанной причине. |
al1032 | Ошибка при генерировании ресурсов для "файл" — причина Программе Al.exe не удалось создать файл из-за нехватки места на диске или другой ошибки. Эта ошибка появляется при задании параметра /win32icon (служащего для создания ICO-файла) или при отсутствии параметра /win32res (служащего для создания файла с данными ресурсов). Если ошибку создания файла не удается устранить, используйте параметр /win32res, который служит для указания файла, содержащего сведения о версии или растровом изображении (значке). |
al1033 | Особый атрибут сборки "атрибут" задан несколько раз с разными значениями Один и тот же пользовательский атрибут имеет различные значения в исходных модулях, которые указаны в качестве входных для Al.exe. |
al1034 | Невозможно скопировать или переименовать сборку "файл" При использовании синтаксиса Al.exe, позволяющего указать входной файл и скопировать его, возник конфликт имен, из-за которого компиляция была остановлена. Например, эта ошибка возникает, если задать input.dll,somename.dll /out:somename.dll . |
al1035 | Библиотеки не могут иметь точки входа Нельзя одновременно задать параметры /target:lib (используется по умолчанию) и /main. |
al1036 | Для исполняемого приложения требуется точка входа Если используется параметр /target:exe или /target:win, необходимо также указать параметр /main. |
al1037 | Невозможно найти метод "main" для точки входа Программе Al.exe не удалось найти метод Main в расположении, указанном в параметре /main. |
al1039 | Сбой при инициализации диспетчера глобального кэша сборок — причина Переустановите Visual Studio или Windows SDK. |
al1040 | Сбой при установке сборки в кэш — причина В кэш можно устанавливать только подписанные сборки. Дополнительные сведения см. в разделе Глобальный кэш сборок. |
al1041 | "метод" не может являться точкой входа, так как либо имеет неправильную сигнатуру или объявление видимости, либо имеет базовый тип Метод был указан с параметром /main, но он не является статическим, не возвращает значение типа int или void , является универсальным или имеет недопустимые аргументы. |
al1042 | "EXE-файл": файлы EXE не могут быть добавленными модулями В качестве входного файла для программы Al.exe указан EXE-файл, не содержащий сборки. В качестве входных файлов для Al.exe допускаются только DLL-файлы без сборок. |
al1043 | Имя файла манифеста "имя" не может совпадать ни с одним из имен модулей Имя файла, указанное в параметре /out, не должно совпадать с именами файлов, указанных в качестве входных для программы Al.exe. |
al1044 | Ошибка при считывании файла ключа "файл" — причина Произошла ошибка при открытии или чтении файла, заданного параметром /keyfile или AssemblyKeyFileAttribute. |
al1045 | Слишком длинное или недопустимое имя файла "файл" Программе Al.exe передано имя файла, содержащее более 260 символов. Выберите файл с более коротким именем или путем либо переименуйте файл. |
al1046 | Идентификатор ресурса "идентификатор" в этой сборке уже использован Два ресурса, внедренные или связанные, имеют одинаковые идентификаторы или имена (второй аргумент). Удалите или переименуйте один из конфликтующих ресурсов. |
al1047 | Ошибка при импорте файла "файл" — причина Не удается открыть файл модуля по указанной причине. |
al1048 | Ошибка при импорте модуля "модуль" сборки "сборка" — причина Произошла ошибка при открытии не содержащего манифест файла или многофайловой сборки. Эта ошибка не возникает непосредственно в программе Al.exe, но может быть программно передана в процесс, использующий Al.exe. |
al1049 | Невозможно автоматически сгенерировать номера сборки и редакции для дат ранее 1 января 2000 г. Системные часы компьютера установлены на дату ранее 1 января 2000 г. |
al1050 | Используемая функция "старая функция" больше не поддерживается; вместо нее используйте "новая функция" Функция, которая раньше поддерживалась программой Al.exe, теперь устарела. Используйте вместо нее рекомендуемую функцию. |
al1051 | Ошибка при порождении атрибута "атрибут" — "причина" Пользовательский атрибут сборки не был обработан программой Al.exe по указанной причине. |
al1052 | Файл "имя файла" не является сборкой Файл, указанный в параметре /template, должен содержать метаданные сборки. Эта ошибка означает, что файл, указанный в параметре /template, не содержит сборку. |
al1053 | Версия "версия" для "параметр" указана не в формате "главная.вспомогательная.сборка.редакция" Программа Al.exe обнаружила неправильный формат номера версии, заданного параметром /fileversion или /productversion. |
al1054 | Версия "версия" для "параметр" указана не в формате "главная.вспомогательная.сборка.редакция" Программа Al.exe обнаружила неправильный формат номера версии, заданного параметром SatelliteContractVersionAttribute. |
al1055 | Сборка "имя файла", на которую дана ссылка, не имеет строгого имени Эта ошибка выдается в том случае, если при создании сборки со строгим именем встретилась ссылка на сборку без строгого имени. Для исправления ошибки необходимо либо заново создать сборку со строгим именем, либо присвоить этой сборке строгое имя с помощью программы Sn.exe (см. документацию по программе Sn.exe). Такая ошибка обычно возникает при использовании COM-объектов посредством сборок-оболочек, например при добавлении в проект C# ссылки на модуль COM с помощью интегрированной среды разработки Visual Studio. Чтобы избежать этой ошибки, можно указать файл ключей строгого имени для сборок-оболочек COM в свойстве проекта "Файл ключей сборки-оболочки/Имя". При создании сборки-оболочки с помощью tlbimp см. документацию по tlbimp для получения сведений о том, как присвоить строгое имя сборке-оболочке. Если сборка имеет строгое имя, ее можно установить в глобальный кэш сборок. Следовательно, сборки, на которые она ссылается, также должны быть установлены в глобальный кэш сборок. Но в глобальный кэш сборок можно устанавливать только сборки со строгими именами. |
al1056 | Сборка "имя файла", на которую дана ссылка, является сборкой языкового дополнения При создании текущей сборки была указана сборка, созданная с использованием атрибута AssemblyCultureAttribute. Атрибут AssemblyCultureAttribute показывает, что файл является локализованной вспомогательной сборкой, ссылки на которую недопустимы. Вместо этого используйте ссылку на основную родительскую сборку. |
al1057 | Исполняемые файлы не подлежат локализации; свойство "Культура" должно быть пустым Сборка создается с использованием /target:exe, но при этом указан параметр /culture. Сборки в EXE-файлах должны иметь пустое поле "Культура". |
al1058 | "файл" является сборкой и не может добавляться в качестве модуля При компиляции на языке C++ в параметре компоновщика /assemblymodule был указан файл, содержащий сборку. |
al1059 | Неизвестная ошибка (код) В программе Al.exe произошла ошибка с неизвестным кодом ( code ).Ниже представлены возможные решения. Переустановите Visual Studio. Переустановите Windows SDK. Проверьте наличие всех требуемых файлов. Проверьте наличие достаточного места на диске. Проверьте наличие достаточного объема памяти. Завершите другие процессы, которые могут обращаться к файлам. Перезагрузите компьютер. |
al1060 | Сбой криптографической службы при создании хэшей — причина Произошла ошибка при создании хэшей файлов для многофайловой сборки. |
al1061 | Невозможно задать параметр "параметр" по причине "причина" Значение, указанное для параметра, недопустимо по указанной причине. |
al1062 | Модуль "модуль" был указан несколько раз. Он будет включен только один раз Это предупреждение выдается в случае, когда исходный файл, входной файл или модуль был указан в командной строке несколько раз. Убедитесь в том, что имя файла указано только один раз. |
al1063 | Открытый тип "тип" определен в нескольких местах в данной сборке: "файл1" и "файл2" Один и тот же тип обнаружен в нескольких модулях сборки. В сборке может присутствовать только одна версия каждого типа. |
al1064 | Задание нескольких параметров /bugreport недопустимо. Можно задать только один параметр /bugreport. |
al1065 | Слишком длинное или недопустимое имя файла "имя файла" Длина указанного имени файла превышает допустимый максимум. |
al1066 | Использование символа "символ" в командной строке или файлах ответа не допускается В командной строке или в файле обнаружен недопустимый символ. |
al1067 | "имя файла" является двоичным, а не текстовым файлом Файл имеет двоичный формат вместо текстового. |
al1068 | Модуль "имя модуля" уже определен в данной сборке. Каждый связанный ресурс и модуль должны иметь уникальное имя. Модуль встречается в сборке несколько раз. |
al1069 | Невозможно создать короткое имя файла "имя файла", если уже существует длинное имя файла, содержащее это короткое имя Имя текущего файла является краткой версией уже существующего имени файла. Например, подобная ошибка компилятора возникает, если скомпилировать файл LongFileName.cs, а затем повторно скомпилировать его с именем LongFi~1.cs. Та же ошибка может возникнуть, если выходные файлы компилятора с длинными именами были удалены, но аналогичные файлы компоновщика остались. |
al1070 | Агностическая сборка не может иметь специальный процессорный модуль "имя модуля". Если сборка выполняется с использованием аргумента /platform:agnostic (или если параметр /platform не указан), при попытке добавить (с помощью /addmodule) модуль, не являющийся агностическим, возникнет ошибка. Это аналогично попытке связать OBJ-файл i386 с OBJ-файлом ia64. Основным источником неагностических модулей является C++. Если параметр /addmodule используется для добавления модуля C++, может потребоваться изменить скрипты сборки, указав соответствующее значение /platform. |
al1072 | Сборка и модуль "имя модуля" не могут предназначаться для разных процессоров Сборку и модуль нельзя связать друг с другом, если они предназначены для разных процессоров, так как результат должен выполняться на каком-то одном процессоре. |
al1073 | Сборка "сборка", на которую дается ссылка, предназначена для другого процессора Сборки нельзя связать друг с другом, если они предназначены для разных процессоров, так как результат должен выполняться на каком-то одном процессоре. |
al1074 | Имя модуля "имя модуля", сохраненное в "имя файла", должно соответствовать своему имени файла Это обязательное требование к компоновщику. Для решения проблемы приведите имена в соответствие друг другу. |
al1075 | Поступил запрос на отложенную подпись, но ключ не был предоставлен При использовании отложенной подписи компилятор не вычисляет и не сохраняет подпись, а резервирует место в файле для добавления подписи в сборку в будущем. Например, чтобы поместить сборку в глобальный кэш для тестирования, используйте параметр /delaysign+. После тестирования можно полностью подписать сборку, добавив в нее закрытый ключ с помощью компоновщика сборок. |
al1076 | Тип "тип" передан для нескольких сборок: "сборка" и "сборка" Каждый тип может быть передан только в одну сборку. |
al1077 | Общий тип "тип" определен в "сборка" и передан для "сборка" В создаваемой сборке обнаружен дубликат открытого типа. Один экземпляр представляет допустимое определение типа, а второй является переадресатором типа. |
Пример
Следующая команда создает исполняемый файл t2a.exe со сборкой из модуля t2.netmodule
. Точкой входа является метод Main
в MyClass
.
al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main