Существует ли файл типа конфигурации для надстройки Visual Studio? - PullRequest
5 голосов
/ 13 октября 2010

При создании надстройки Visual Studio, как вы можете использовать app.config для надстройки.Если я добавлю его в проект и разверну его, то при запуске надстройки программно пытаюсь получить к ней доступ через ConfigurationManager.AppSettings не выбирает файл конфигурации для надстройки.
Я что-то не так делаюили есть другое средство для доступа к файлам настроек конфигурации для надстройки?

1 Ответ

8 голосов
/ 14 октября 2010

ConfigurationManager.AppSettings выбирает файл конфигурации для домена приложения, в который вы загружены.Этот конфигурационный файл обычно тот, который связан с исполняемым файлом точки входа.В вашем случае вы не управляете ни исполняемым файлом точки входа, ни доменом приложения, в котором вы работаете, поэтому вы не можете использовать ConfigurationManager.AppSettings.

Ваш вопрос в основном сводится к «Как можно связать файл конфигурациис DLL?( C # Dll файл конфигурации ).Вам нужно сделать две вещи:

  1. Добавить элемент файла конфигурации приложения в свой проект и убедиться, что вы развернули его в той же папке, что и ваша DLL.
  2. Доступ кКонфигурационный файл из вашей DLL, используя такой код:

     string pluginAssemblyPath = Assembly.GetExecutingAssembly().Location;
     Configuration configuration = ConfigurationManager.OpenExeConfiguration(pluginAssemblyPath);
     string someValue = configuration.AppSettings.Settings["SomeKey"].Value;
    

Это определенно будет работать для обычных DLL, которые не загружаются с использованием теневого копирования.Я не уверен, как VS загружает свои плагины.Если у вас возникнут проблемы, дайте мне знать, и я могу опубликовать обходной путь для библиотек DLL, которые загружаются с помощью теневого копирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...