Что такое "имя модуля" при использовании al.exe для подписи сборки с сильным именем?
Я пытаюсь подписать сборку с сильным именем, следуя руководству отсюда: http://msdn.microsoft.com/en-us/library/xc31ft41.aspx
Ключевая инструкция:
al /out:<assembly name> <module name> /keyfile:<file name>
И он говорит
имя модуля - это имя модуля кода, используемого для создания сборки
Я не понимаю, что это значит. В буквальном смысле я бы интерпретировал это как некоторый компонент csc.exe(т.е. Создал сборку), но, очевидно, это бессмысленно в этом контексте.
Итак, во-первых, к чему это относится, и во-вторых (чтобы помочь моему метаобучению), как можно рассуждать о том, что это такое? Я получаю впечатление, учитывая то, что документация должна быть очевидной или интуитивной для меня, но в настоящее время это не так.
Я попытался указать некоторые случайные имена (например, blah.blah), но получим эту ошибку:
ALINK: ошибка AL1047: Ошибка импорта файла 'c:\path\to\proj\bin\Debug\blah.blah' - система не может найти указанный файл.
Изменить: при дальнейшем чтении я получаю впечатление, что имя модуля - это имя кода, но мне не повезло, указав файлы .cs. - Мне сказали Database file is corrupt and may not be usable
.
Ответы
Ответ 1
Сборка состоит из модулей (файлы .netmodule), которые создаются путем компиляции источников (файлы .cs). Компонент сборки отвечает за упаковку модулей в сборках. Поэтому, если у вас есть два исходных файла class1.cs и class2.cs:
csc /t:module class1.cs
csc /t:module class2.cs
al /out:assembly.dll /t:library class1.netmodule class2.netmodule
Для лучшего понимания того, как CLR имеет дело с модулями, манифестами и сборками, см. Richter.
Ответ 2
Посмотрите, сможете ли вы найти то, что ищете с помощью этой ссылки. Если нет, я могу помочь в дальнейших исследованиях. На данный момент у меня мало свободного времени, но это может измениться в течение следующего часа.
Подписать сборку с сильным именем, используя команду al/out
Ответ 3
В VS2010 нажмите "Свойства проекта" → вкладка "Подписание" → "Проверить подпись этой сборки".
Предоставить или создать сильный ключ.