【问题标题】:Read Current Project Settings from a Visual Studio 2010 Add-In?从 Visual Studio 2010 加载项读取当前项目设置?
【发布时间】:2011-12-18 13:15:14
【问题描述】:
我正在编写一个 Visual Studio 插件,它会在调试器启动时激活。加载项需要检查当前运行项目的项目设置,并专门阅读该选项卡底部 Web 选项卡上显示调试器的复选框。我想每次都阅读项目设置,并确定每次启动调试器时选中哪些复选框“ASP.NET”“本机代码”“SQL Server”“Silverlight”“启用编辑并继续”复选框。
我浏览了 SDK 中的示例,没有发现任何专门读取项目设置的内容。如果有人能指出我正确的方向,那将很有帮助。
【问题讨论】:
标签:
visual-studio-2010
add-in
【解决方案1】:
事实证明,答案比我想象的要容易。项目属性窗口的 Web 选项卡中的 Web 配置仅在使用 Web 项目时可用。 Web 项目是一个扩展器。要访问项目中的扩展器,您可以使用以下代码访问它。
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 对象编写了一个 Extension,它将为我提供当前项目,然后使用它找到很好地转换为 WAProjectExtender 的 Extender。此类位于我系统上的 IDE 特定程序集内,位于 E:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.VisualStudio.Web.Application.dll