VSProject 接口
包含特定于某 Visual Basic 项目或 C# 项目的信息。 当项目为 Visual Basic 或 Visual C# 项目时,它由 Object 对象返回。
命名空间: VSLangProj
程序集: VSLangProj(在 VSLangProj.dll 中)
语法
声明
<GuidAttribute("2CFB826F-F6BF-480D-A546-95A0381CC411")> _
Public Interface VSProject
[GuidAttribute("2CFB826F-F6BF-480D-A546-95A0381CC411")]
public interface VSProject
[GuidAttribute(L"2CFB826F-F6BF-480D-A546-95A0381CC411")]
public interface class VSProject
[<GuidAttribute("2CFB826F-F6BF-480D-A546-95A0381CC411")>]
type VSProject = interface end
public interface VSProject
VSProject 类型公开以下成员。
属性
名称 | 说明 | |
---|---|---|
BuildManager | 获取 VSProject 的 BuildManager 对象。只读。 | |
DTE | 获取顶级扩展性对象。 | |
Events | 获取 VSProjectEvents 对象,它使您可以响应 Imports、References 和 BuildManager 对象的事件。 | |
Imports | 获取与项目关联的 Imports 对象。对于 C# 项目,将 Imports 属性设置为 Nothing(nullnull 引用(在 Visual Basic 中为 Nothing) 引用)。只读。 | |
Project | 获取与 Visual Basic 或 Visual C# 项目关联的泛型 Project 对象。只读。 | |
References | 获取项目的 References 集合。只读。 | |
TemplatePath | 获取包含 Visual Basic 或 C# 的项目项模板的目录的完整路径。只读。 | |
WebReferencesFolder | 获取表示项目的“Web 引用”文件夹的 ProjectItem 对象。如果该文件夹不存在,此属性就会返回 Nothing(nullnull 引用(在 Visual Basic 中为 Nothing) 引用)。只读。 | |
WorkOffline | 获取或设置指示 Web 项目是联机工作还是脱机工作的值。当脱机工作时,开发继续在项目文件的一个脱机存储区上进行,以便服务器中的项目文件不被更改。 |
页首
方法
名称 | 说明 | |
---|---|---|
AddWebReference | 向项目添加对 Web 服务的引用。将向项目的“Web 引用”文件夹添加新的 Web 服务引用子文件夹。该新文件夹包含与该 Web 服务相关的若干其他项目项。该方法返回与新的“Web 服务”文件夹关联的 ProjectItem 对象。 | |
CopyProject | 将 Web 项目的部分或全部内容复制到新位置。 | |
CreateWebReferencesFolder | 为项目创建“Web 引用”文件夹。 | |
Exec | 基础结构。 仅由 Microsoft 内部使用。 | |
GenerateKeyPairFiles | 生成用于构成程序集强名称的公钥/私钥文件。 | |
GetUniqueFilename | 生成项目内的唯一文件名。用于命名新项目项。 | |
Refresh | 刷新“解决方案资源管理器”中项目的外观,刷新引用,并获取文件的最新编译的版本。 |
页首
备注
Project 是核心扩展性对象,可包含有关任意语言的项目的信息。 Project 对象的 Object 返回一个对象,该返回对象的类型取决于所用的项目语言。 在 Visual Basic 和 Visual C# 中,该对象为 VSProject 对象。
Object 返回 Object 数据类型。 然后,Object 返回的数据对象可显式转换为 VSProject。 下面的示例使用 CType 函数演示这种转换。 PrjKind 用于在转换前测试项目的类型。
示例
[Visual Basic]
' Macro Editor
' This example retrieves the VSProject object if the first project
' the solution is a Visual Basic or C# project. This routine assumes
' that the solution contains at least one project.
Imports VSLangProj
Sub VSProjectExample()
Dim aProject As Project
Dim aVSProject As VSProject
aProject = DTE.Solution.Projects.Item(1)
If (aProject.Kind = PrjKind.prjKindVBProject) _
Or (aProject.Kind = PrjKind.prjKindCSharpProject) Then
aVSProject = CType(DTE.Solution.Projects.Item(1).Object, VSProject)
MsgBox(aVSProject.Project.FullName)
Else
MsgBox("The first project is not a Visual Basic or C# project.")
End If
End Sub