特定于 Visual C# 和 Visual Basic 的大多数可用事件对象都表示为 VSProjectEvents2 对象的属性。 此外,ProjectItemsEvents 和 ProjectsEvents 对象对任何对象类型均可用。 下表列出了特定于项目类型的所有 Visual Studio 事件对象。 若要查看每个对象提供的事件,请单击链接。
事件对象
| 对象名 | 说明 | 
|---|---|
| 提供生成管理器的事件。 | |
| 提供 Imports 事件。 仅限 Visual Basic。 | |
| 提供添加、更改或移除项目引用的事件。 | |
| 提供添加、更改或移除 Web 引用的事件。 | |
| 为项目项提供事件。 这些事件是为所有 Visual Studio 项目类型定义的。 | |
| 为项目提供事件。 这些事件是为所有 Visual Studio 项目类型定义的。 | 
指定项目类型
若要从自动化模型检索各种特定于项目类型的事件对象,请使用下面的语法:
' Declaration.
Public WithEvents prjEventHandler As EnvDTE.ProjectsEvents
' Retrieve the event objects from the automation model
prjEventHandler = EnvDTE.Events.GetObject("VBProjectsEvents")
// Declaration.
Private EnvDTE.ProjectsEvents prjEventHandler;
// Retrieve the event objects from the automation model.
prjEventHandler = EnvDTE.Events.GetObject("VBReferencesEvents");
Or
' Declaration
Public WithEvents refEvents As VSLangProj80.ReferencesEvents
' Retrieve the event objects from the automation model.
refEvents = CType(EnvDTE.Events.GetObject("CSharpReferencesEvents"), _
 VSLangProj.ReferencesEvents)
// Declaration.
private VSLangProj.ReferencesEvents refEvents;
// Retrieve the event objects from the automation model
refEvents = (VSLangProj.ReferencesEvents)
EnvDTE.Events.GetObject("CSharpReferencesEvents");
传递给 GetObject 的名称反映了项目类型。 下表提供了 Visual C# 和 Visual Basic 项目的所有特定于项目类型的事件对象的完整列表。
特定于项目类型的事件名称列表
| 事件对象名称 | 说明 | 
|---|---|
| VBBuildManagerEvents | 为 Visual Basic 项目返回 BuildManagerEvents 对象。 | 
| VBImportsEvents | 返回 Visual Basic 项目的 ImportsEvents 对象。 | 
| VBProjectItemsEvents | 返回 Visual Basic 项目的 ProjectItemsEvents 对象。 | 
| VBProjectsEvents | 返回 Visual Basic 项目的 ProjectsEvents 对象。 | 
| VBReferencesEvents | 返回 Visual Basic 项目的 ReferencesEvents 对象。 | 
| CSharpBuildManagerEvents | 返回 Visual C# 项目的 BuildManagerEvents 对象。 | 
| CSharpProjectItemsEvents | 返回 Visual C# 项目的 ProjectItemsEvents 对象。 | 
| CSharpProjectsEvents | 返回 Visual C# 项目的 ProjectsEvents 对象。 | 
| CSharpReferencesEvents | 返回 Visual C# 项目的 ReferencesEvents 对象。 | 
这些字符串可以在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\<Package GUID> 项下找到。 Package GUID 为:
- 164B10B9-B200-11D0-8C61-00A0C91E29D5,用于 Visual Basic 项目系统。 
- FAE04EC1-301F-11D3-BF4B-00C04F79EFBC,用于 Visual C# 项目系统。 - 提示 - 这些 GUID 仅在 Microsoft Visual Studio 2005 中有效。