2011-06-03 9 views
2

Je sais que 1 espace de noms peut s'étendre sur plusieurs assemblys et que 1 assembly peut contenir plusieurs espaces de noms. Cependant, ce qui me dérange, c'est comment un assemblage peut-il s'étendre sur plusieurs fichiers. Est-ce fait en créant simplement les assemblées multiples avec le même nom dans des répertoires séparés? Est-ce tout ce qu'il y a à faire?Un assemblage couvrant plusieurs fichiers

+0

une travée d'assemblage peut plusieurs fichiers? Je pensais par définition que ce serait un seul fichier. –

Répondre

0

multi-module les assemblages ne sont pas recommandés. Il y a des situations très spécifiques où vous voudriez un assemblage multi-module (en mélangeant plusieurs langues dans un assemblage par exemple) mais il y a plusieurs problèmes avec ceci. Un assembly est la plus petite unité de code portable dans .NET et contient ses propres informations de version (comme l'a déjà souligné Pranay Rana). Ce morceau d'information est appelé le manifeste de l'assemblée. Un assemblage multi-module aura un module manifeste et un ou plusieurs modules non-manifestes.

Les autres modules ne peuvent pas être utilisés en dehors de l'assemblage - l'ensemble est toujours la plus petite unité de code portable. Ils peuvent toutefois être laissés de côté (et peut-être téléchargés à la demande).

Pour plus d'informations, consultez le postclassique sur des assemblages multi-modules: http://blogs.msdn.com/b/junfeng/archive/2004/07/15/183813.aspx

1

Il n'est pas possible de le faire car chacun contient ses propres informations de version ... donc même si vous créez deux assemblages avec le même nom, ils sont différents des informations de version.

Ce numéro appelé DLL hell qui est résolu par .net

EDIT

vous pouvez utiliser des méthodes d'extension disponibles en 3.5 pour étendre la DLL ...

Questions connexes