演练:调试外接程序项目

更新:2007 年 11 月

本演练阐释如何创建一个简单的 Visual Studio 外接程序项目以及如何使用断点调试项目。有关更多信息,请参见断点与跟踪点

外接程序是经过编译的应用程序,它们使用 Visual Studio 自动化对象模型来操作或自动操作集成开发环境 (IDE)。有关更多信息,请参见创建外接程序和向导

f7fb383x.alert_note(zh-cn,VS.90).gif说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。这些过程是使用“常规开发设置”开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

创建简单的 Visual Studio 外接程序项目

  1. 从“文件”菜单上,指向“新建”,然后单击“项目”。

    将显示“新建项目”对话框

  2. 在“项目类型”窗格中,展开“其他项目类型”,然后选择“扩展性”。

  3. 在“模板”窗格中,选择“Visual Studio 外接程序”。

  4. 在“名称”字段中,键入“SimpleAddIn”作为外接程序项目的名称。单击“确定”。

    “Visual Studio 外接程序向导”->“欢迎使用外接程序向导”启动。

  5. 在“欢迎使用外接程序向导”页中,单击“下一步”。

  6. 在“选择编程语言”页中,单击“使用 Visual C# 创建外接程序”,然后单击“下一步”。

  7. 在“选择应用程序主机”页中,接受默认选项,然后单击“下一步”。

  8. 在“输入名称和说明”页中,键入“简单的外接程序”作为外接程序的名称,然后键入“用于阐释如何调试简单的外接程序”作为外接程序的说明。单击“下一步”。

  9. 在“选择外接程序选项”页上,选中“是的,创建‘工具’菜单项。”选项。接受剩余的默认选项。单击“下一步”。

  10. 在“选择‘帮助’中的‘关于’信息”页中,选择“是的,我希望我的外接程序提供‘关于’对话框信息。”选项,然后单击“下一步”。

  11. 在“摘要”页中,单击“完成”。

    “外接程序向导”将生成新的外接程序项目,并且打开 IDE,焦点位于文件 Connect.cs 上。这是包含外接程序的代码的主类。

  12. 在“解决方案资源管理器”中,右击“引用”节点,然后选择“添加引用”以将引用添加到程序集。

    这允许在 System.Windows.Forms 命名空间中使用类型。

    将显示“添加引用”对话框

  13. 在“.NET”选项卡上,双击组件 System.Windows.Forms.dll。

    在“解决方案资源管理器”中,在“引用”节点下将显示对 System.Windows.Forms 命名空间的引用。

    此命名空间包含显示消息框所必需的代码,下面的代码示例中使用了消息框。

  14. 在 Connect.cs 中,在 SimpleAddIn 范围的顶部附近添加下面的语句以允许更轻松地使用 MessageBox 对象:

    using System.Windows.Forms;
    
  15. 通过将 MessageBox.Show("Debugging a Simple Add-in"); 添加到 Connect.cs 中的 Exec 方法,将 MessageBox 对象添加到外接程序中:

    public void Exec(string commandName,
       vsCommandExecOption executeOption,
       ref object varIn, ref object varOut, ref bool handled)
    {
       handled = false;
       if(executeOption ==
          vsCommandExecOption.vsCommandExecOptionDoDefault)
       {
          if(commandName == "MyAddin1.Connect.MyAddin1")
          {
             handled = true;
             MessageBox.Show("Debugging a Simple Add-in");
             return;
          }
       }
    }
    
  16. 单击“全部保存”按钮以保存您的工作。

调试 Visual Studio 外接程序项目

  1. 在 Connect.cs 中,在语句左侧的空白处单击:

    MessageBox.Show("Debugging a Simple Add-in")
    

    出现一个红点(或称断点),此行上的文本以红色突出显示。

  2. 从“调试”菜单中,单击“开始调试”。

    当前的 Visual Studio 会话(即调试器会话)将失去焦点,而正被调试的程序将在 Visual Studio 的另一个实例中打开。

  3. 从正被调试的 Visual Studio IDE 中,单击“工具”菜单。

    “SimpleAddIn”列在菜单项的顶部。

  4. 选择“SimpleAddIn”命令以执行外接程序。

    这使您转到在 Visual Studio 调试器会话中设置断点的行,此行以黄色突出显示。

  5. 从调试器会话中的“调试”菜单中,选择“逐语句”。

    焦点切换回调试的程序。消息框打开,指示您的外接程序已经执行。

  6. 单击“确定”以关闭消息框。

  7. 在调试器会话中,从“调试”菜单中选择“继续”。

    调试的 Visual Studio 会话重新获得焦点。

  8. 退出调试的 Visual Studio 会话。

  9. 在 Connect.cs 中,单击在 MessageBox 语句旁设置的断点以将其从源代码中移除。

    正如您所看到的,当调试外接程序时,Visual Studio IDE 的另一个实例将打开以承载正在运行的外接程序。第一个实例显示其代码并允许您进行调试,例如设置监视变量、断点等等。当您完成调试后,IDE 的第二个实例关闭并使您返回第一个实例中的外接程序的代码。

请参见

其他资源

创建外接程序和向导

自动化与扩展性参考