2010-01-20 2 views
0

J'ai une DLL. à partir de laquelle je voudrais obtenir le nom de l'application. Le code suivant, appelé de la DLL, renvoie le nom complet de DLL:Comment réfléchir sur l'application principale d'une DLL avec .NET?

string assemblyFullUncPath = 
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; 

... donc il est pas tout à fait ce que je suis après. Je pourrais ajouter un paramètre d'assemblage, mais je préférerais ne pas le faire. C'est possible?

Répondre

0

Essayez Assembly.GetEntryAssembly().

+0

Bien sûr, j'aurais dû examiner cela. Merci pour la réponse! – MrGreggles

+0

Assurez-vous simplement que vous comprenez que cette méthode peut * pas * renvoyer l'exécutable réel (comme dans EXE) qui a été utilisé pour démarrer le processus. Cela se produit lorsque vous appelez cette opération à partir d'un domaine autre que le domaine par défaut. Si vous écrivez une fonctionnalité utilitaire qui devrait être indépendante de son environnement, vous pouvez garder cela à l'esprit (il m'a mordu une fois ;-) –

Questions connexes