Je voudrais utiliser le GUID dans les informations d'assemblage de mon projet Microsoft Visual C# 2008 Express Edition pour une utilisation dans un Mutex qui est utilisé pour vérifier qu'une seule instance de l'application est fonctionnement. Comment peut-on accéder au GUID? J'ai seulement besoin de l'utiliser dans la fonction Program.Main(...)
. Merci.Accès aux informations d'assemblage GUID dans une application Formulaire C#
Répondre
Une question similaire a été posée sur MSDN:
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5faa901a-7e70-41f4-a096-3e6053afd5ec
Voici le code Exerpt:
public static T GetAssemblyAttribute<T>(Assembly assembly) where T : Attribute
{
if (assembly == null) return null;
object[] attributes = assembly.GetCustomAttributes(typeof(T), true);
if (attributes == null) return null;
if (attributes.Length == 0) return null;
return (T)attributes[0];
}
Certaines valeurs sont également disponibles via le type Assembly
:
How do I programmatically get the GUID of an application in .net2.0
Merci, Adam. Mes compétences de recherche ont été trompées! L'exemple dans le poste StackOverflow lié a été très utile. –
Vous pouvez appeler le GetExecutingAssembly method on Assembly statique pour obtenir l'assembly en cours d'exécution. Cependant, sauf si vous avez un Guid attribute associé à l'assemblage, vous n'êtes pas assuré d'avoir toujours un Guid associé à l'assemblage. Si vous avez un attribut Guid associé à l'assembly, vous pouvez prendre l'instance d'assembly et appeler GetCustomAttributes dessus et retourner l'attribut Guid associé à l'assembly, que vous pouvez ensuite interroger pour le Guid.
Je suggère cependant d'utiliser le nom de type complet du point d'entrée de votre application comme nom. Il a une meilleure signification sémantique et est qualifié pour l'assemblage, ce qui lui confère une certaine quantité d'unicité.
Si vous craignez que quelqu'un d'autre utilise cette valeur pour empêcher votre application de fonctionner, l'utilisation d'un Guid n'est pas beaucoup plus sûre, quelqu'un peut toujours refléter votre assemblage et obtenir la valeur du Guid.
Merci, casperOne, mais c'est surtout pour empêcher l'utilisateur de lancer plus d'une instance de l'application. –
Comment obtenir "le nom de type complet du point d'entrée de [my] application"? –
- 1. Accès aux membres Guid en C#
- 2. Accès aux informations de cadre dans gdb
- 3. Accès aux informations d'autorisation dans web.config
- 4. Accès aux informations ISIM sous Android
- 5. XUL - Accès aux informations sur l'image
- 6. Accès aux documents Word dans une application Rails
- 7. Accès aux messages d'erreur sur le formulaire
- 8. Accès aux informations de contact d'un utilisateur de l'application facebook
- 9. iPhone - accès aux informations de position à partir d'une photo
- 10. C# Accès aux données dans System.Object []
- 11. Accès aux éléments d'un tableau défini dans une classe (C++)
- 12. Accès aux paramètres d'une autre application
- 13. Accès statique aux ressources d'une application Android?
- 14. Accès aux éléments du formulaire parent de l'enfant dans MDI
- 15. accès aux données dans RowCommand
- 16. Accès aux informations de routage TCP/IP à partir d'une application .NET
- 17. Accès aux informations de session Joomla à partir de Silverlight
- 18. Accès aux informations de piste actuelles d'iTunes sur l'iPod
- 19. Accès aux informations de contact des appels entrants/sms
- 20. accès aux informations de configuration gnome à l'aide de python
- 21. Accès aux informations renvoyées à partir de NSError?
- 22. accès aux informations du capteur de réception avec l'iPhone SDK
- 23. Android Application Design - Accès aux données du site Web
- 24. C# Accès refusé au chemin dans une application Windows
- 25. CrossPost accès aux données
- 26. Accès aux informations de calendrier à partir d'Exchange 2003 à l'aide de C# .NET
- 27. C++: Accès dynamique aux propriétés de classe
- 28. accès aux variables simultanées en c
- 29. Accès aux onglets sur Firefox avec une extension XPCOM C++
- 30. Accès aux partages réseau
Ce que vous décrivez est exactement ce que ce type a fait pour son application d'instance unique. Check it out: http://www.codeproject.com/KB/cs/SingleInstanceAppMutex.aspx –
Copie possible de [Comment obtenir par programme le GUID d'une application dans .net2.0] (http://stackoverflow.com/questions/502303/how-do-i-program-get-the-guid-of-an-application-in-net2-0) – user