Какво е „името на модула“, когато използвате 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.


person fostandy    schedule 07.12.2010    source източник


Отговори (3)


Сглобяването се състои от модули (.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 се справя с модули, манифести и сборки, вижте Рихтер.

person lesscode    schedule 07.12.2010

Във VS2010 щракнете върху Свойства на проекта -> Раздел Подписване -> Отметка Подпишете този сбор.

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

person Rauld    schedule 04.01.2013

Вижте дали можете да намерите това, което търсите с тази връзка. Ако не, може да помогна за допълнителни изследвания. Засега нямам много свободно време, но това може да се промени в рамките на следващия час.

Подпишете сборка със силно име, като използвате al /out команда

person Will Marcouiller    schedule 07.12.2010