Partilhar via


Interface VSProject2

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

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 (Herdado de VSProject.)
Propriedade pública BuildManager Obtém o BuildManager o objeto da VSProject.
Propriedade pública DTE (Herdado de VSProject.)
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública Events (Herdado de VSProject.)
Propriedade pública Events Obtém um VSProjectEvents o objeto que lhe permite responder a eventos da Imports, References, e BuildManager objetos.
Propriedade pública Events2 Obtém um VSProjectEvents2 o objeto que lhe permite responder a eventos da Imports, References, BuildManager, e VSLangProjWebReferencesEvents objetos.
Propriedade pública Imports (Herdado de VSProject.)
Propriedade pública Imports Obtém o Imports objeto associado com o projeto.C# em projetos, o Imports for definida como Nothing (um nulluma referência nula (Nothing no Visual Basic) referência).
Propriedade pública Project (Herdado de VSProject.)
Propriedade pública Project Obtém o genérico Project objeto associado com o Visual Basic ou Visual C# project.
Propriedade pública PublishManager Obtém um PublishManager clique em objeto para permitir a publicação de uma vez.
Propriedade pública References (Herdado de VSProject.)
Propriedade pública References Obtém o References coleção para o projeto.
Propriedade pública TemplatePath (Herdado de VSProject.)
Propriedade pública TemplatePath Esta propriedade é desaprovada em Microsoft Visual Studio 2005.Use GetProjectItemTemplate em vez disso.
Propriedade pública WebReferencesFolder (Herdado de VSProject.)
Propriedade pública WebReferencesFolder Obtém o ProjectItem objeto representando a pasta de referências da Web do projeto.Se a pasta não existir, essa propriedade retornará Nothing (um nulluma referência nula (Nothing no Visual Basic) referência).
Propriedade pública WorkOffline (Herdado de VSProject.)
Propriedade pública WorkOffline Indica se um projeto da Web está trabalhando online ou offline.Quando estiver trabalhando off-line, desenvolvimento continua em um armazenamento off-line de arquivos de projeto, para que os arquivos de projeto no servidor não são alterados.

Início

Métodos

  Nome Descrição
Método público AddWebReference(String) (Herdado de VSProject.)
Método público AddWebReference(String) Adiciona uma referência a um serviço Web ao projeto.Uma nova subpasta de referência de serviço da Web é adicionada à pasta de referências da Web do projeto.Essa nova pasta contém vários outros itens de projeto relacionados ao serviço da Web.O método retorna o ProjectItem objeto associado a nova pasta de serviço da Web.
Método público CopyProject(String, String, prjCopyProjectOption, String, String) (Herdado de VSProject.)
Método público CopyProject(String, String, prjCopyProjectOption, String, String) Copia a alguns ou todos de um projeto Web para um novo local.
Método público CreateWebReferencesFolder() (Herdado de VSProject.)
Método público CreateWebReferencesFolder() Cria a pasta de referências da Web para o projeto.
Método público Exec(prjExecCommand, Int32, Object, Object%) (Herdado de VSProject.)
Método público Exec(prjExecCommand, Int32, Object, Object%) Infraestrutura. Somente para uso interno da Microsoft.
Método público GenerateKeyPairFiles(String, String) (Herdado de VSProject.)
Método público GenerateKeyPairFiles(String, String) Gera um arquivo de chave pública/particular usado para formar um nome forte do assembly.
Método público GetUniqueFilename(Object, String, String) (Herdado de VSProject.)
Método público GetUniqueFilename(Object, String, String) Gera um nome de arquivo exclusivo dentro do projeto.ele é usado para nomear novos itens de projeto.
Método público Refresh() (Herdado de VSProject.)
Método público Refresh() Atualiza a aparência do projeto no Solution Explorer e atualiza as referências.

Início

Comentários

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

O Object propriedade retorna um Object tipo de dados. O objeto de dados retornado pela Object propriedade pode ser explicitamente convertida em VSProject2. O exemplo a seguir demonstra esse uso de conversão de CType função. O PrjKind é usada para testar o tipo do projeto antes da conversão.

Exemplos

Para executar este exemplo como um suplemento, consulte Como: compilar e Executar a automação de exemplos de Código do modelo de objeto.

Para determinar se um Visual Basic ou Visual C# projeto é um projeto de dispositivo inteligente, use o 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