【问题标题】:Can't programmatically access a specific options page in Visual Studio无法以编程方式访问 Visual Studio 中的特定选项页面
【发布时间】:2016-05-19 16:00:45
【问题描述】:

我似乎无法以编程方式访问 Visual Studio 选项中的属性。具体来说,我有一个扩展需要利用 TFS 电动工具。我想获取存储工作项模板的文件夹的值。进入它们存储在“Microsoft Team Foundation Server 2013 Power Tools -> Work Item Template”中的选项。关注这个example

注意:我正在 VS 2013 中为 VS 2013 创建一个 Visual Studio 包扩展。

我已尝试检索示例中列出的基本选项,并且能够检索其属性。但不是我正在寻找的选项页面的属性。

我尝试了以下方法: 类别和页面 - 没有空格:

DTE vsEnvironment = (DTE)GetService(typeof(SDTE));
Properties propertiesList = vsEnvironment.get_Properties("MicrosoftTeamFoundationServer2013PowerTools", "WorkItemTemplate");

类别和页面 - 带空格:

DTE vsEnvironment = (DTE)GetService(typeof(SDTE));
Properties propertiesList = vsEnvironment.get_Properties("Microsoft Team Foundation Server 2013 Power Tools", "Work Item Template");

每次我收到以下异常: 无效索引。 (来自 HRESULT 的异常:0x8002000B (DISP_E_BADINDEX))

我还尝试使用注册表中使用的相同命名约定(无论出于何种原因,它与工具->选项显示的不同)。再次,没有骰子。我感觉 TFS Power Tools 没有启用 COM 对象利用它的能力。

所以我的问题;如何使用我的 Visual Studio 扩展程序以编程方式检索选项页面的键/值?

【问题讨论】:

    标签: visual-studio-2013 visual-studio-extensions vsix vsx vspackage


    【解决方案1】:

    我已经解决了我自己的问题。 SupportsAutomation 参数未将 TFS Power tools 标记为 true。如果是,那么它将在注册表中:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\12.0\AutomationProperties\'

    见:https://msdn.microsoft.com/en-us/library/bb166553(v=vs.120).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多