Диспетчер настроек Visual Studio 2013 GetReadOnlySettingsStore выдает исключение

#visual-studio-2013 #visual-studio-extensions

#visual-studio-2013 #visual-studio-extensions

Вопрос:

Я пишу расширение Visual Studio, и мне нужен список страниц свойств для данной категории.

"TextEditor" Будет возвращен приведенный ниже список.

  • Общая информация
  • Все языки
  • Базовые модели
  • CSharp
  • и т.д.

Объект среды vs DTE упрощает получение свойств страницы, но не предоставляет простого способа получения всех страниц.

 vsEnvironment.get_Properties("TextEditor", pageName);
  

Значения, которые мне нужны, фактически хранятся в реестре, однако Visual Studio также предоставляет хранилище настроек, которое, как я надеялся, поможет мне получить список.

Я настроил его следующим образом:

 var settingsManager = new ShellSettingsManager(this); //ServiceProvider.GlobalProvider
var userSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
  

Однако GetReadOnlySettingsStore всегда выдает следующее исключение.

 The type 'Microsoft.VisualStudio.Settings.SettingsScope' exists in both 'Microsoft.VisualStudio.Shell.12.0.dll' and 'Microsoft.VisualStudio.Shell.11.0.dll'
  

Похоже, Мадс Кристенсен успешно использовал это, однако я все еще не могу сказать, что не так.

Я бы хотел избежать обхода API, предоставляемого Visual Studio. Итак, кто-нибудь успешно использовал SettingsManager или знает другой метод для получения списка?

Комментарии:

1. Можете ли вы поделиться стеком исключений, который вы видите? Кроме того, существуют другие способы перечисления языков, которые могут быть или не быть более правильными в зависимости от того, что вы пытаетесь сделать.

2. Похоже, я не смог получить трассировку стека, я выполнил команду в немедленном окне, и это все, что я получаю обратно (никакой другой информации об исключении). Каковы другие способы перечисления языков?

3. Существует несколько способов перечисления. Чего вы в конечном итоге пытаетесь достичь?

4. Я разрешаю пользователю выбирать языки, для которых они хотят экспортировать параметры форматирования, и загружать их обратно для каждого решения. Это проект (все еще очень ранний) github.com/Lavinski/VSSolutionSettings . Функция GetPropertyPages является связанной функцией.