2009-03-06 3 views
1

Longue histoire courte: Nous avons un système que nous passons d'un serveur à l'autre. À ce stade, le seul problème est qu'il manque un assemblage sur la nouvelle boîte. Sur la vieille boîte, nous pouvons voir le nom de l'assemblage, mais pour la vie de nous, nous ne pouvons pas savoir quel code DLL est physiquement dans afin que nous puissions le déplacer vers la nouvelle boîte.Existe-t-il un moyen de dire quelle est la DLL d'un assembly .net?

Y a-t-il un widget d'assemblage sneaky .net qui vous le dira?

Répondre

2

Le nom de l'assembly doit être le même que le nom de la DLL. (Eh bien, la DLL aura ". Dll" à la fin du cours.) Le nom de l'assembly est de savoir comment le CLR détermine le fichier à charger! Voulez-vous dire que vous pouvez voir l'espace utilisé pour certains des types?

+0

AHA! Je ne savais pas que c'était une règle réelle. Excellent, merci! –

+0

Je ne pense pas que ce soit une loi, plus une règle de base. J'ai utilisé pour charger les classes plugin à partir de tous les fichiers .dll dans un répertoire donné, en itérant à travers plusieurs espaces de noms par fichier, et depuis un fichier a un seul nom ... – Kris

+0

@Kris: Assembly name => filename est une règle (le CLR essaie .dll et .exe, avec des variations pour les assemblages satellites etc.). Namespace => le nom de l'assembly est juste une convention. Big difference :) –

7

Je voudrais utiliser le .NET Reflector pour charger l'application principale, puis regarder dans la section Références pour voir quels assemblages sont référencés.

0

Pour l'exécution de code, vous pouvez démarrer Process Explorer et dans le regard du panneau inférieur à DLLs, les colonnes comprennent le chemin où un ensemble donné est chargé à partir

Questions connexes