Partilhar via


Interface VSProject2

Contém informações específicas de um projeto de Visual Basic ou deVisual C# . O objeto de Object retorna quando o projeto é um projeto de Visual Basic ou deVisual C# .

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

Sintaxe

'Declaração
<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

O tipo VSProject2 expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública BuildManager Obtém o objeto de BuildManager de VSProject.
Propriedade pública DTE Obtém o objeto de nível superior de extensibilidade.
Propriedade pública Events Obtém um objeto de VSProjectEvents que permite responder a eventos de Imports, de References, e de objetos de BuildManager .
Propriedade pública Events2 Obtém um objeto de VSProjectEvents2 que permite responder a eventos de Imports, de References, de BuildManager, e de objetos de VSLangProjWebReferencesEvents .
Propriedade pública Imports Obtém o objeto de Imports associado ao projeto.Para projetos C#, a propriedade de Imports é definida como Nothing (uma referência de nulluma referência nula (Nothing no Visual Basic) ).
Propriedade pública Project Obtém o objeto genérico de Project associado ao projeto de Visual Basic ou deVisual C# .
Propriedade pública PublishManager Obtém um objeto de PublishManager clique em para permitir que publica uma vez.
Propriedade pública References Obtém a coleção de References para o projeto.
Propriedade pública TemplatePath Esta propriedade é substituída em Microsoft Visual Studio 2005.Use GetProjectItemTemplate em vez disso.
Propriedade pública WebReferencesFolder Obtém o objeto de ProjectItem que representa a pasta referências da Web do projeto.Se a pasta não existir, retorna Nothing dessa propriedade (uma referência de nulluma referência nula (Nothing no Visual Basic) ).
Propriedade pública WorkOffline Indica se um projeto Web é trabalhar online ou offline.Quando estiver trabalhando offline, o desenvolvimento continuará no repositório de arquivos offline de projeto, de forma que os arquivos de projeto no servidor não sejam alterados.

Superior

Métodos

  Nome Descrição
Método público AddWebReference Adiciona uma referência a um serviço Web ao projeto.Uma nova subpasta da referência do serviço Web é adicionada à pasta referências da Web do projeto.Essa nova pasta contém vários outros itens de projeto relacionados ao serviço Web.O método retorna o objeto de ProjectItem associado à nova pasta do serviço Web.
Método público CopyProject Copia qualquer ou qualquer projeto Web em um novo local.
Método público CreateWebReferencesFolder Cria a pasta referências da Web do projeto.
Método público Exec Infraestrutura. Somente para uso interno do Microsoft.
Método público GenerateKeyPairFiles Gerencie um arquivo de chaves pública/privada usada para formar um nome forte do assembly.
Método público GetUniqueFilename Gerencie um nome de arquivo exclusivo dentro do projeto. é usado nomeando novos itens do projeto.
Método público Refresh Atualiza a aparência do projeto em Gerenciador de Soluções e atualiza as referências.

Superior

Comentários

Project é um objeto de extensibilidade de núcleo que pode conter informações sobre projetos de qualquer idioma. A propriedade de Object do objeto de Project retorna um objeto cujo tipo depende do idioma do projeto usado. No caso de Visual Basic e deVisual C#, esse objeto é um objeto de VSProject2 .

A propriedade de Object retorna um tipo de dados de Object . O objeto de dados retornado pela propriedade de Object pode então ser explicitamente convertido em VSProject2. O exemplo a seguir demonstra essa conversão usando a função de CType . PrjKind é usado para testar o tipo de projeto antes da conversão.

Exemplos

Para executar este exemplo como um suplemento, consulte Como compilar e executar os exemplos de código do modelo de objeto Automation.

Para determinar se Visual Basic ou um projeto de Visual C# é um projeto do dispositivo inteligente, use prjKindSDEVBProject e 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."); 
    } 
}

Consulte também

Referência

Namespace VSLangProj80

VSProject