Lorsque vous créez un complément Visual Studio, comment pouvez-vous utiliser un app.config pour le complément. Si j'en ajoute un au projet et que je le déploie, alors lorsque le complément s'exécute et j'essaie par programme d'y accéder via ConfigurationManager.AppSettings, il ne récupère pas le fichier de configuration pour le complément.
Est-ce que je fais quelque chose de mal ou existe-t-il un autre moyen d'accéder aux paramètres de configuration basés sur les fichiers pour un complément? ConfigurationManager.AppSettings récupère le fichier de configuration pour l'AppDomain dans lequel vous êtes chargé.Existe-t-il un fichier de type config pour Visual Studio Add-In?
Répondre
Ce fichier de configuration est généralement celui associé à l'exécutable du point d'entrée. Dans votre cas, vous ne contrôlez pas l'exécutable du point d'entrée ni l'AppDomain que vous exécutez, vous ne pouvez donc pas utiliser ConfigurationManager.AppSettings.
Votre question se résume essentiellement à "Comment puis-je avoir un fichier de configuration associé à une DLL?" (C# Dll config file). Vous devez effectuer deux opérations:
- Ajoutez un élément de fichier de configuration d'application à votre projet et assurez-vous de le déployer dans le même dossier que votre DLL.
Accéder au fichier de configuration de votre DLL en utilisant le code comme ceci:
string pluginAssemblyPath = Assembly.GetExecutingAssembly().Location; Configuration configuration = ConfigurationManager.OpenExeConfiguration(pluginAssemblyPath); string someValue = configuration.AppSettings.Settings["SomeKey"].Value;
qui va certainement travailler pour les DLL régulières qui ne sont pas chargés à l'aide du cliché instantané. Je ne sais pas comment VS charge ses plugins. Si vous rencontrez des problèmes, faites le moi savoir et je peux poster un travail pour les DLL qui sont chargées via le cliché instantané.