Как реализовать данные конфигурации для расширения vsix в Visual Studio 2010? - PullRequest
1 голос
/ 31 мая 2011

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

Можно ли просто использовать файл app.config в той же папке, что и файл sln, и если да, я должен использовать некоторые пользовательские параметры конфигурации для переноса файла? NuGet, кажется, реализует этот подход, но я не до конца понимаю внутреннюю архитектуру, чтобы увидеть, как используется файл конфигурации.

Буду признателен за любые альтернативные подходы.

Edit:

С тех пор я понял, что динамические данные, которые будут использоваться хранилищем конфигурации, должны зависеть от конкретного решения, чтобы окно инструментов, используемое в одном решении, могло использовать свойства, отличные от свойств другого решения. Я предполагаю, что одной из возможностей будет использование файла .settings для хранения местоположения одного файла конфигурации, в котором хранится информация, связанная с различными решениями.

Ответы [ 2 ]

3 голосов
/ 26 октября 2011

Здесь и, на мой взгляд, лучше всего работает встроенный механизм, подробное пошаговое руководство: http://msdn.microsoft.com/en-us/library/ff460144.aspx

Добавление примечания от self Я вижу, что базовая реализация использует подраздел системного реестра.Однако после удаления расширения VSIX все ключи удаляются автоматически, поэтому ваше расширение не загрязняет систему, оставляя потерянные записи.

3 голосов
/ 31 мая 2011

Лучшее место для хранения настроек для расширения .vsix - это использование файла .settings.Для его создания выполните следующие действия:

  • Щелкните правой кнопкой мыши на проекте и выберите «Свойства»
  • Перейдите на вкладку «Настройки»
  • Нажмите на ссылку, чтобы создатьфайл настроек по умолчанию

Это создаст пару файлов в вашем решении.

  • Settings.settings
  • Settings.Designer.cs

Кроме того, он вызывает конструктор, из которого можно добавлять новые настройки.К ним можно получить доступ позже, используя статическое свойство Settings.Default

...