Compartilhar via


Interface Solution2

Representa todos os projetos e propriedades de todo no ambiente de desenvolvimento integrado (IDE).

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

Sintaxe

'Declaração
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
    Inherits _Solution
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
[<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")>]
type Solution2 =  
    interface 
        interface _Solution 
    end
public interface Solution2 extends _Solution

O tipo Solution2 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. Somente para uso interno da Microsoft.
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. Somente para uso interno da Microsoft.
Propriedade pública IsOpen Obtém um valor que indica se uma solução é aberta.
Propriedade pública Parent Obtém o objeto pai imediato de um objeto 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 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 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 GetProjectTemplate Retorna um caminho para o modelo indicado do 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

Essa interface contém 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. Contém um elemento de projeto para cada projeto, se um projeto é definido, um subprojeto, ou um projeto de nível superior.

Você pode encontrar a solução aberta usando a propriedade de DTE.Solution . Para se referir a projetos virtuais, como MiscFiles ou SolutionItems, use Solution.Item(EnvDTE.Constants.vsProjectKindMisc ou Solution.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.

O código a seguir cria uma nova solução do aplicativo de console no caminho fornecido.

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

Sub SolutionExample(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = <file path>
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console application project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Baic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//you will need to add this reference to your project as well
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.
    SolutionExample((DTE2)_applicationObject);
}

public void SolutionExample(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution2 soln = (Solution2)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = <file path>;
    MessageBox.Show("Starting...");
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 EnvDTE80