在向大家详细介绍C# VSProject对象之前,首先让大家了解下References和Reference对象,然后全面介绍Imports 对象。
C# VSProject对象
该对象提供对扩展性模型中的其他对象的访问。DTE对象是 Visual Studio 自动化模型中的***对象。在常规扩展性模型中,项目由一般 Project对象表示。Project对象有个 Object 属性。该属性的类型在运行时由项目语言决定。在 Visual Basic 或 Visual C# 项目中,Object 属性返回一个 VSProject 类型的对象。由于 Object 属性的类型是 Object,因此您必须将引用转换为 VSProject 类型。在宏中,如果***个项目是 Visual Basic 项目,那么转换可能类似于:
- Macro editor
- Dim proj As Project
- Dim vsproject As VSLangProj.VSProject
- proj = DTE.Solution.Projects.Item(1)
- vsproject = CType(proj.Object, VSLangProj.VSProject)
有了对 VSProject 项的引用后,便可以操作项目的属性、配置、文件、文件夹、Imports 语句和引用了。
References和Reference对象
C# VSProject对象所包含的 References对象存放 Reference对象的集合。Reference对象表示一个项目引用,它主要是个支持 Remove 方法的只读对象。References对象支持添加引用(COM、.NET 程序集、ActiveX 和其他项目)和引发事件(添加、移除和更改引用)。
References对象不包含项目的 Web 引用。项目的 Web 引用可通过访问 WebReferencesFolder 属性的 ProjectItems 属性来检索。
Imports 对象
C# VSProject对象所包含的 Imports 对象维护“导入”(Imports) 语句的集合,这些语句应用于整个 Visual Basic 项目。当向该集合添加一条 Imports 语句时,不必将相应的 Imports 语句(例如 Imports VSLangProj)添加到代码文件。该对象支持添加和移除 Imports 语句以及为响应添加和移除语句而引发事件。Visual C# 项目中无等效对象,并且当应用于 Visual C# 项目时,VSProject.Imports 属性将返回 Nothing。
【编辑推荐】