Что такое "имя модуля" при использовании 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 нажмите "Свойства проекта" → вкладка "Подписание" → "Проверить подпись этой сборки".

Предоставить или создать сильный ключ.