Читать текущие параметры проекта из надстройки Visual Studio 2010? - PullRequest
0 голосов
/ 18 апреля 2011

Я пишу визуальную студийную надстройку, которая активируется при запуске отладчика. Надстройка должна проверить параметры проекта текущего запущенного проекта и, в частности, прочитать флажки на вкладке «Интернет» в нижней части вкладки, на которой написано «Отладчики». Я хотел бы читать настройки проекта каждый раз и определять, какие флажки установлены при каждом запуске отладчика, флажки «ASP.NET», «Собственный код», «SQL Server», «Silverlight», «Включить редактирование и продолжить».

Я просмотрел примеры в SDK и не нашел ничего, что конкретно читало настройки проекта. Если бы кто-нибудь мог указать мне правильное направление, это было бы полезно.

1 Ответ

1 голос
/ 02 мая 2011

Оказывается, ответ легче, чем я думал.Веб-конфигурация на вкладке «Веб» окна «Свойства проекта» доступна только при работе с веб-проектом.Веб-проект - это расширитель.Чтобы получить доступ к Расширителям в проекте, вы должны получить к нему доступ с помощью приведенного ниже кода.

 Microsoft.VisualStudio.Web.Application.WAProjectExtender extend = null;

 foreach ( object item in ( Array )project.ExtenderNames )
 {
     extend = project.Extender[ item.ToString( ) ] as Microsoft.VisualStudio.Web.Application.WAProjectExtender;
     if ( extend != null )
     {
         return extend.SilverlightDebugging;
     }
 }

Класс Microsoft.VisualStudio.Web.Application.WAProjectExtender содержит все свойства в хорошо названных, легко доступных свойствах.Таким образом, выяснить, проверена ли SilverlightDebugging, так же просто, как проверить extend.SilverlightDebugging.Я написал Расширение к объекту Application, которое дало бы мне текущий проект, а затем использовало этот нахождение Extender, который красиво преобразуется в WAProjectExtender.Этот класс находится внутри конкретной сборки IDE, расположенной в моей системе по адресу E: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Microsoft.VisualStudio.Web.Application.dll

...