Partilhar via


Interface VSProject2

Contém as informações específicas para um Visual Basic, Visual C#, ou Visual J# projeto. The Object objeto retorna quando o projeto é um Visual Basic, Visual C#, ou Visual J# projeto.

Namespace:  VSLangProj80
Assembly:  VSLangProj80 (em VSLangProj80.dll)

Sintaxe

<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
    Inherits VSProject

Dim instance As VSProject2
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
public interface VSProject2 extends VSProject

Comentários

Project é um objeto de extensibilidade principais que pode conter informações sobre projetos de qualquer linguagem. The Object propriedade das Project Retorna um objeto cujo tipo depende do linguagem de projeto usado. No caso de Visual Basic, Visual C#, e Visual J#, esse objeto é um VSProject2 objeto.

The Object propriedade para retornar uma Object tipo de dados. O objeto de dados retornado pelo Object propriedade, em seguida, pode ser convertida explicitamente para VSProject2. O exemplo a seguir demonstra essa conversão usando o CType função. The PrjKind é usado para testar o tipo do projeto antes da conversão.

Exemplos

Para executar este exemplo sistema autônomo um suplemento, consulte Como: Compilar e executar os exemplos de códigos automação modelo de objeto.

Para determinar se um Visual Basic ou um Visual C# projeto é um projeto de dispositivo SMART, use o prjKindSDEVBProject e prjKindSDECSharpProject.

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) Or_
    (aProject.Kind = PrjKind2.prjKindVJSharpProject) Then
        aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
        VSProject2)
        MsgBox(aVSProject2.Project.FullName)
    Else
        MsgBox("The first project is not a Visual Basic, C# _
        or J# project.")
    End If
End Sub
// 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 ) |
 ( aProject.Kind == PrjKind2.prjKindVJSharpProject ) ) 
    { 
        aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
        MessageBox.Show( aVSProject2.Project.FullName); 
    } 
    else 
    { 
        MessageBox.Show( "The first project is not a Visual Basic,
 C# or J# project."); 
    } 
}

Consulte também

Referência

Membros VSProject2

Namespace VSLangProj80

VSProject