2010-12-07 5 views
13

Je suis en train de signer un assembly avec un nom fort en suivant le guide d'ici: http://msdn.microsoft.com/en-us/library/xc31ft41.aspxQuel est le 'nom du module' lorsque vous utilisez al.exe pour signer un assembly avec un nom fort?

L'instruction clé est:

al /out:<assembly name> <module name> /keyfile:<file name> 

Et il dit

module name is the name of the code module used to create the assembly

Je ne Je ne comprends pas ce que cela signifie. Dans le sens littéral, j'interpréterais ce qui précède comme une composante de csc.exe (c'est-à-dire, il a créé l'assemblée) mais, évidemment, c'est absurde dans ce contexte. Donc, d'abord, à quoi cela fait-il référence, et deuxièmement (afin de faciliter mon méta-apprentissage) comment pourrait-on raisonner ce que c'est? J'ai l'impression étant donné la lacune de la documentation que cela devrait être évident ou intuitif pour moi, mais ce n'est pas le cas actuellement.

J'ai essayé spécifier des noms aléatoires (par exemple de blah.blah) mais obtenir cette erreur:

ALINK: Erreur AL1047: importation d'un fichier d'erreur « c: \ chemin \ \ proj \ bin \ Debug \ bla. blah '- Le système ne peut pas trouver le fichier spécifié. Edit: En lisant plus loin, j'ai l'impression que le nom du module est le nom du code, mais je n'ai pas eu de chance en spécifiant les fichiers .cs soit - On m'a dit Database file is corrupt and may not be usable.

Répondre

6

Un ensemble est constitué de modules (fichiers .netmodule), qui sont produits par la compilation de sources (fichiers .cs). Le lieur d'assemblage est responsable de l'emballage des modules dans les assemblages. Donc, si vous avez deux fichiers source class1.cs et class2.cs:

csc /t:module class1.cs 
csc /t:module class2.cs 
al /out:assembly.dll /t:library class1.netmodule class2.netmodule 

Pour le meilleur traitement de la façon dont le CLR avec des modules, des manifestes et des assemblages, voir Richter.

1

Voyez si vous pouvez trouver ce que vous cherchez avec ce lien. Sinon, je pourrais aider pour d'autres recherches. Pour le moment, je n'ai pas beaucoup de temps libre, mais cela peut changer dans l'heure qui suit.

Sign assembly with strong name using al /out command

1

Dans VS2010, cliquez sur Propriétés du projet -> onglet Signature -> Cochez Signer cet assemblage.

Fournir ou créer une clé de nom fort.

Questions connexes