Partilhar via


Interface Solution4

Representa todos os projetos e propriedades de todo no ambiente de desenvolvimento integrado (IDE). Substitui Solution, Solution2, e Solution3.

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

Sintaxe

'Declaração
<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")> _
Public Interface Solution4 _
    Inherits Solution3
[GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface Solution4 : Solution3
[GuidAttribute(L"CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface class Solution4 : Solution3
[<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")>]
type Solution4 =  
    interface 
        interface Solution3 
    end
public interface Solution4 extends Solution3

O tipo Solution4 expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública AddIns Obtém uma coleção de AddIns , que contém qualquer suplementos disponível atualmente associados com a solução.
Propriedade pública Count Obtém um valor indicando o número de projetos na solução.
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública Extender Obtém o objeto Extender solicitado caso esteja disponível para este objeto.
Propriedade pública ExtenderCATID Obtém o ID da categoria do extensor (CATID) para o objeto.
Propriedade pública ExtenderNames Obtém uma lista de extensores disponíveis para o objeto.
Propriedade pública FileName Infraestrutura. Obtém o nome de arquivo.
Propriedade pública FullName Obtém o caminho completo e o nome do arquivo do objeto.
Propriedade pública Globals Obtém o objeto de Globals que contém todos os valores de variáveis que podem ser salvos no arquivo de solução (.sln), no arquivo de projeto, ou nos dados do perfil de usuário.
Propriedade pública IsDirty Infraestrutura. Determina se a solução é suja (alterado mas não salvo).
Propriedade pública IsOpen Obtém se uma solução é aberta.
Propriedade pública Parent Obtém o objeto pai imediato de um objeto de Solution2 .
Propriedade pública Projects Obtém uma coleção de projetos na solução.
Propriedade pública Properties Obtém uma coleção de todas as propriedades que se referem ao objeto de Solution2 .
Propriedade pública Saved Obtém ou define um valor indicando se uma solução não foi alterada desde a última vez que está sendo salvo ou aberto.
Propriedade pública SolutionBuild Obtém o objeto de SolutionBuild para a solução, que representa a raiz do modelo de automação de compilação no nível da solução.
Propriedade pública TemplatePath Substituído por GetProjectTemplate.

Superior

Métodos

  Nome Descrição
Método público AddFromFile Adicione um projeto à solução que é baseado em um arquivo de projeto já armazenado no sistema.
Método público AddFromTemplate Copia um arquivo de projeto existente, e todos os itens ou as subpastas que ele contém, para o local especificado e o adiciona à solução.
Método público AddFromTemplateEx Copia um arquivo de projeto existente, e todos os itens ou as subpastas que ele contém, para o local especificado e o adiciona à solução.
Método público AddSolutionFolder Adiciona uma pasta de solução a uma coleção de ProjectItems .
Método público Close Fecha a solução atual.
Método público Create Cria uma solução vazia no diretório especificado com o nome especificado.
Método público FindProjectItem Localize um item em um projeto.
Método público GetEnumerator Retorna uma enumeração para itens em uma coleção.
Método público GetProjectItemTemplate Retorna um caminho para o indicado modelo de item.
Método público GetProjectItemTemplates Retorna uma coleção de modelos de item de projeto para o projeto especificado.
Método público GetProjectTemplate Retorna um caminho especificado para o modelo de projeto.Se um modelo tem um elemento de RequiredFrameworkVersion mais alto de 4,0, você deve fornecer a versão na chamada de modo que a pesquisa para o modelo encontra uma correspondência.Por exemplo, em vez de chamar GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); chamada GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.
Método público Item Retorna um membro indexado de uma coleção de Projects .
Método público Open Abre uma solução especificada.
Método público ProjectItemsTemplatePath Substituído por GetProjectItemTemplate.
Método público Remove Remove o projeto especificado da solução.
Método público SaveAs Salva a solução.

Superior

Comentários

O objeto de Solution4 é uma coleção de todos os projetos na instância atual do IDE e todas as propriedades de todo, como configurações de compilação. O objeto de Solution4 contém um elemento de projeto para cada projeto, se um projeto é definido, um subprojeto, ou um projeto de nível superior.

Referenciar este objeto usando DTE.Solution. Para se referir a projetos virtuais, como MiscFiles ou SolutionItems, use Solution4.Item(EnvDTE.Constants.vsProjectKindMisc) ou Solution4.Item(EnvDTE.Constants.vsProjectKindSolutionItems).

Exemplos

Para obter informações sobre como executar este código do suplemento, consulte Como compilar e executar os exemplos de código do modelo de objeto Automation.

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)
    Solution4Example(_applicationObject)
End Sub

Sub Solution4Example(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual C# Console
    ' project to it.
    Try
        Dim soln As Solution4 = CType(DTE.Solution, Solution4)
        Dim csTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim csPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a C# console project.
        csTemplatePath = CType(soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp"), string)
        ' Create a new C# Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
        "New CSharp Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    Solution4Example((DTE2)_applicationObject);
}

public void Solution4Example(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution4 soln = (Solution4)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = "<file path>";
        "<file path>MessageBox.Show("Starting...");
        "<file path>"<file path>csTemplatePath = 
        soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
        // Create a new C# Console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath,
          "New CSharp Console Project", false);
        MessageBox.Show("Done!");
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Consulte também

Referência

Namespace EnvDTE100