J'écris une bibliothèque de réflexion personnalisée pour une logique de domaine personnalisée spécialisée et cette bibliothèque utilisera des fichiers de configuration XML qui résolvent de manière dynamique les objets System.Type au moment de l'exécution. Toutefois, lors de la rédaction des fichiers de configuration XML, il est un peu douloureux pour écrire les types car ils doivent être des noms de montage entièrement qualifiés pour Type.getType () pour les résoudre. Y a-t-il un moyen de trouver le nom de l'AssembléeQualifaliedName d'un objet dans Visual Studio sans recourir à la rédaction d'un programme pour les imprimer dans un fichier ou une standard ou quelque chose comme ça? P>
3 Réponses :
Je ne suis pas sûr de bien comprendre le problème. Vous voulez obtenir des noms complètes de vos types par programme? Si tel est le cas, vous pouvez toujours utiliser Ce que je peux penser à la marquage de tous les types dont vous avez besoin avec un Atribute personnalisé pour les trouver facilement dans les assemblages d'extraire leurs noms, je ne pense pas que vous puissiez trouver une manière sans passer à travers chacun du type dont vous avez besoin extraire son nom. p> typeof (Yourtype) .fulname code> ou
typeof (Yourtype) .AssemblyqualifeName code>. p>
Non, je ne veux pas les amener par programme, je sais déjà comment faire ça. Je veux savoir s'il y a un moyen de découvrir l'AssembléeChanifaliedname d'une classe dans Visual Studio sans recourir à l'utilisation de Code pour imprimer les noms de mes classes, car je vais devoir utiliser le type.assemblblyqualifeName dans les fichiers de configuration
Si j'étais dans votre situation, je voudrais simplement contempler la fenêtre immédiate (Débogou-> Windows-> Immediate) et utiliser Vous devez qualifier le type Avec l'espace de nom complet afin de le faire, cela dispose également de l'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 classe comme projet de démarrage de la solution. P> exemple: p> typeof (typefullname) .AssemblyqualifeName code>.
Je vais changer mon commentaire à une réponse appropriée, car après avoir une lecture rapide ce que j'ai suggéré, c'est exactement ce que vous voulez. P>
Téléchargez la version gratuite du réflecteur d'ici , décompressez-le et exécutez-le. Faites glisser et déposez une version compilée de votre assemblée dessus et à côté de la balise nom i> dans la section Info au bas de la boîte de dialogue sera son nom pleinement qualifié, prête à vous simplement copier et Coller de là. P>
Notez que toutes les informations dont vous avez besoin sont également disponibles en cliquant avec le bouton droit de la souris sur le fichier compilé, sélectionnez Propriétés i>, puis allez dans la Détails i> onglet, bien que vous ne puissiez pas Il suffit de copier / coller de là. P>
Pas techniquement le nom de l'Assemblée, mais assez proche. Merci beaucoup pour votre aide.
J'ai trouvé une excellente réponse ici: Stackoverflow.com/a/17396630/3899583