2010-04-09 4 views
4

Je suis en train d'écrire une bibliothèque réflective personnalisée pour une logique de domaine personnalisée, et cette bibliothèque va utiliser des fichiers de configuration XML pour résoudre dynamiquement les objets System.Type au moment de l'exécution. Cependant, lors de l'écriture des fichiers de configuration XML, il est un peu difficile d'écrire les types car ils doivent être des noms d'assembly complets pour Type.GetType() pour les résoudre. Est-il possible de trouver le AssemblyQualifiedName d'un objet dans Visual Studio sans avoir recours à l'écriture d'un programme pour les imprimer dans un fichier ou standard ou quelque chose comme ça?Obtention de l'assembly qualifié Nom d'une classe dans Visual Studio

+0

J'ai trouvé une bonne réponse ici: http://stackoverflow.com/a/17396630/3899583 – vojta

Répondre

3

Je vais changer mon commentaire à une réponse correcte, car après avoir un jeu rapide ce que je suggérais fait exactement ce que vous voulez.

Téléchargez la version gratuite de Reflector from here, décompressez-la et lancez-la. Faites glisser et déposez une version compilée de votre assembly dessus, et à côté de la balise Name dans la section info au bas de la boîte de dialogue sera son nom complet, prêt pour que vous puissiez simplement copier et coller à partir de là.

Notez que toutes les informations dont vous avez besoin est également availableby un clic droit sur le fichier compilé, sélectionnez Propriétés , puis passez à l'onglet Détails, bien que vous ne pouvez pas copier/coller à partir de là.

+0

Pas techniquement le AssemblyQualifiedName, mais assez proche. Merci beaucoup pour votre aide. –

0

Je ne sais pas si j'ai compris le problème. Vous voulez obtenir les noms complets de vos types par programme? Si c'est le cas, vous pouvez toujours utiliser typeof(YourType).FullName ou typeof(YourType).AssemblyQualifiedName. Ce que je peux penser est de marquer tous les types dont vous avez besoin avec un attribut personnalisé pour les trouver facilement dans les assemblées pour extraire leurs noms, je ne pense pas que vous pouvez trouver un moyen sans passer par chacun des types que vous besoin d'extraire son nom.

+0

Non, je ne veux pas les obtenir par programmation, je sais déjà comment faire ça. Je veux savoir s'il existe un moyen de trouver le AssemblyQualifiedName d'une classe dans Visual Studio sans avoir recours à l'utilisation de code pour imprimer les noms de mes classes, car je vais devoir utiliser le Type.AssemblyQualifiedName dans les fichiers de configuration –

4

Si j'étais dans votre situation, je voudrais simplement faire apparaître la fenêtre Exécution (Debug-> Windows-> Immediate) et utiliser typeof(TypeFullName).AssemblyQualifiedName.

Pour ce faire, vous devez qualifier le type avec l'espace de nom complet, ce qui a également pour effet secondaire d'exécuter automatiquement le projet de démarrage de la solution. Cet effet secondaire peut être atténué en définissant temporairement une bibliothèque de classes en tant que projet de démarrage de la solution.

Exemple:

typeof(System.Windows.Forms.Button).AssemblyQualifiedName 
+0

merci pour votre réponse –

Questions connexes