2016-06-09 2 views
0

Ce que j'essaie d'accomplir est ceci: J'ai une bibliothèque de classes que j'ai créée, mais je veux être capable de détecter quelle application l'utilise puisque j'ai plusieurs applications utilisant une bibliothèque, mais je veux pouvoir rendre certaines fonctions disponibles pour une application et ne pas les avoir disponible pour toutes les autres applications, tout en n'ayant qu'une seule bibliothèque de classes autonome. Les informations que j'aimerais récupérer lorsque la bibliothèque de classes est référencée ou appelée par une application sont: le nom de l'application, la version et s'il est signé.Récupère les propriétés de l'application faisant référence à une bibliothèque de classe C# de la bibliothèque

Est-ce possible?

+0

Eww. Je n'aime pas le son de ça. Comment exactement certaines fonctions sont-elles indisponibles? Lancer une exception ou quelque chose? –

Répondre

0

Vous pouvez utiliser la réflexion System.Reflection.Assembly.GetEntryAssembly() pour trouver le point d'entrée d'une application (par exemple, l'assembly exécutable qui a été exécuté à l'origine).

Assembly caller = Assembly.GetEntryAssembly(); 
var name = caller.GetName(); 
var version = name.Version; 

// etc. 
+0

Cela a fonctionné parfaitement, merci beaucoup! – ECourant