Nommer fermement trois assemblées qui se réfèrent l’une à l’autre

C’est probablement très facile, mais je suis déconcerté (et je suis un noob avec c #). J’ai 3 assemblages qui se réfèrent l’un à l’autre (par exemple, en enregistrant pour la notification d’une méthode déléguée ou en appelant une méthode publique), tous compilant bien jusqu’à ce que j’essaie de les signer avec un nom fort. Ensuite, je ne peux en comstackr aucun, les deux autres n’ayant pas de nom fort. Qu’est-ce que je rate? J’ai créé un fichier de nom fort pour les trois, mais je ne peux pas inclure le snk et les comstackr.

Si vous avez créé un fichier snk que vous souhaitez utiliser sur les trois, choisissez: Ajouter un élément existant dans le menu contextuel des projets.

Accédez au fichier snk, puis choisissez “Ajouter en tant que lien” en cliquant sur la flèche en regard du bouton Ajouter.

Ensuite, dans les propriétés de votre projet, assurez-vous, dans l’onglet Signature, de cocher la case “Sign the assembly”, puis sélectionnez le fichier de clés que vous venez d’append à votre projet.

Cela devrait faire l’affaire.

Un assembly fortement nommé ne peut référencer que d’autres assemblys fortement nommés.

Lorsque vous faites référence à un assembly doté d’un nom fort, vous espérez en tirer certains avantages, tels que la protection des versions et des noms. Si l’assembly avec nom fort fait ensuite référence à un assembly avec un nom simple, ce qui ne présente pas ces avantages, vous perdez les avantages que vous retireriez de l’utilisation d’un assembly doté d’un nom fort et d’un retour aux conflits DLL. Par conséquent, les assemblys avec nom fort peuvent uniquement référencer d’autres assemblys avec nom fort.

Cité de MSDN .