包含特定于 Visual Basic 或 Visual C# 项目的信息。 如果项目是 Visual Basic 或 Visual C# 项目,则由 Object 对象返回它。
命名空间:  VSLangProj80
程序集:  VSLangProj80(在 VSLangProj80.dll 中)
语法
声明
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
    Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =  
    interface
        interface VSProject
    end
public interface VSProject2 extends VSProject
VSProject2 类型公开以下成员。
属性
| 名称 | 说明 | |
|---|---|---|
| .gif) | BuildManager | (继承自 VSProject。) | 
| .gif) | BuildManager | 获取 VSProject 的 BuildManager 对象。 | 
| .gif) | DTE | (继承自 VSProject。) | 
| .gif) | DTE | 获取顶级扩展性对象。 | 
| .gif) | Events | (继承自 VSProject。) | 
| .gif) | Events | 获取 VSProjectEvents 对象,它使您可以响应 Imports、References 和 BuildManager 对象的事件。 | 
| .gif) | Events2 | 获取一个 VSProjectEvents2 对象,它使您可以响应 Imports、References、BuildManager 和 VSLangProjWebReferencesEvents 对象的事件。 | 
| .gif) | Imports | (继承自 VSProject。) | 
| .gif) | Imports | 获取与项目关联的 Imports 对象。对于 C# 项目,将 Imports 属性设置为 Nothing(nullnull 引用(在 Visual Basic 中为 Nothing) 引用)。 | 
| .gif) | Project | (继承自 VSProject。) | 
| .gif) | Project | 获取与 Visual Basic 或 Visual C# 项目关联的泛型 Project 对象。 | 
| .gif) | PublishManager | 获取一个 PublishManager 对象,以允许 Click Once 发布。 | 
| .gif) | References | (继承自 VSProject。) | 
| .gif) | References | 获取项目的 References 集合。 | 
| .gif) | TemplatePath | (继承自 VSProject。) | 
| .gif) | TemplatePath | 此属性在 Microsoft Visual Studio 2005 中已被否决。请改用 GetProjectItemTemplate。 | 
| .gif) | WebReferencesFolder | (继承自 VSProject。) | 
| .gif) | WebReferencesFolder | 获取表示项目的“Web 引用”文件夹的 ProjectItem 对象。如果该文件夹不存在,此属性就会返回 Nothing(nullnull 引用(在 Visual Basic 中为 Nothing) 引用)。 | 
| .gif) | WorkOffline | (继承自 VSProject。) | 
| .gif) | WorkOffline | 指示 Web 项目是联机工作还是脱机工作。当脱机工作时,开发继续在项目文件的一个脱机存储区上进行,以便服务器中的项目文件不被更改。 | 
页首
方法
| 名称 | 说明 | |
|---|---|---|
| .gif) | AddWebReference(String) | (继承自 VSProject。) | 
| .gif) | AddWebReference(String) | 向项目添加对 Web 服务的引用。将向项目的“Web 引用”文件夹添加新的 Web 服务引用子文件夹。该新文件夹包含与该 Web 服务相关的若干其他项目项。该方法返回与新的“Web 服务”文件夹关联的 ProjectItem 对象。 | 
| .gif) | CopyProject(String, String, prjCopyProjectOption, String, String) | (继承自 VSProject。) | 
| .gif) | CopyProject(String, String, prjCopyProjectOption, String, String) | 将 Web 项目的部分或全部内容复制到新位置。 | 
| .gif) | CreateWebReferencesFolder() | (继承自 VSProject。) | 
| .gif) | CreateWebReferencesFolder() | 为项目创建“Web 引用”文件夹。 | 
| .gif) | Exec(prjExecCommand, Int32, Object, Object%) | (继承自 VSProject。) | 
| .gif) | Exec(prjExecCommand, Int32, Object, Object%) | 基础结构。仅由 Microsoft 内部使用。 | 
| .gif) | GenerateKeyPairFiles(String, String) | (继承自 VSProject。) | 
| .gif) | GenerateKeyPairFiles(String, String) | 生成用于构成程序集强名称的公钥/私钥文件。 | 
| .gif) | GetUniqueFilename(Object, String, String) | (继承自 VSProject。) | 
| .gif) | GetUniqueFilename(Object, String, String) | 生成项目内的唯一文件名。用于命名新项目项。 | 
| .gif) | Refresh() | (继承自 VSProject。) | 
| .gif) | Refresh() | 刷新“解决方案资源管理器”中项目的外观,并刷新引用。 | 
页首
备注
Project 是核心扩展性对象,可包含有关任意语言的项目的信息。 Project 对象的 Object 属性返回一个对象,该返回对象的类型取决于所用的项目语言。 对于 Visual Basic 和 Visual C#,该对象是 VSProject2 对象。
Object 属性返回 Object 数据类型。 然后,Object 属性返回的数据对象可显式转换为 VSProject2。 下面的示例使用 CType 函数演示这种转换。 PrjKind 用于在转换前测试项目的类型。
示例
若要将此示例作为外接程序运行,请参见如何:编译和运行自动化对象模型代码示例。
若要确定 Visual Basic 或 Visual C# 项目是否为智能设备项目,请使用 prjKindSDEVBProject 和 prjKindSDECSharpProject。
[Visual Basic]
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst _
 As Object, ByRef custom As Array) Implements _
 IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    VSProject2Example(applicationObject)
End Sub
 Sub VSProject2Example(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject2 As VSProject2
    aProject = applicationObject.Solution.Projects.Item(1)
    MsgBox(aProject.Kind & aProject.Name)
    If (aProject.Kind = PrjKind.prjKindVBProject) Or_
    (aProject.Kind = PrjKind.prjKindCSharpProject) Then
        aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
        VSProject2)
        MsgBox(aVSProject2.Project.FullName)
    Else
        MsgBox("The first project is not a Visual Basic or C# _
        project.")
    End If
End Sub
[C#]
// To use Messabox.Show, a reference to Windows.Forms is required.
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, ext_ConnectMode
 connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    VSProject2Example((DTE2)applicationObject);
}
public void VSProject2Example(DTE2 dte)
{
    Project aProject = null; 
    VSProject aVSProject2 = null; 
    aProject = applicationObject.Solution.Projects.Item( 1 ); 
    MessageBox.Show( aProject.Kind + aProject.Name); 
    if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
 ( aProject.Kind == PrjKind.prjKindCSharpProject ) ) 
    { 
        aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
        MessageBox.Show( aVSProject2.Project.FullName); 
    } 
    else 
    { 
        MessageBox.Show( "The first project is not a Visual Basic or C# project."); 
    } 
}