Compartir a través de


Solution4 (Interfaz)

Representa todos los proyectos y propiedades de soluciones del entorno de desarrollo integrado (IDE). Reemplaza a Solution, Solution2 y Solution3.

Espacio de nombres:  EnvDTE100
Ensamblado:  EnvDTE100 (en EnvDTE100.dll)

Sintaxis

'Declaración
<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

El tipo Solution4 expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública AddIns Obtiene una colección AddIns, que contiene todos los complementos disponibles actualmente y que están asociados a la solución.
Propiedad pública Count Obtiene un valor que indica el número de proyectos de la solución.
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública Extender Obtiene el objeto Extender solicitado si está disponible para este objeto.
Propiedad pública ExtenderCATID Obtiene el identificador de categoría (CATID) de extensor para el objeto.
Propiedad pública ExtenderNames Obtiene una lista de los objetos Extender disponibles para el objeto.
Propiedad pública FileName Infraestructura. Obtiene el nombre de archivo.
Propiedad pública FullName Obtiene la ruta de acceso completa y el nombre de archivo del objeto.
Propiedad pública Globals Devuelve el objeto Globals que contiene los valores de variable que pueden guardarse en el archivo de solución (.sln), en el archivo de proyecto o en los datos de perfil del usuario.
Propiedad pública IsDirty Infraestructura. Determina si la solución ha cambiado (es decir, se ha modificado pero no guardado).
Propiedad pública IsOpen Obtiene un valor que indica si una solución está abierta.
Propiedad pública Parent Obtiene el objeto primario inmediato de un objeto Solution2.
Propiedad pública Projects Obtiene una colección de los proyectos actuales de la solución.
Propiedad pública Properties Obtiene una colección de todas las propiedades pertenecientes al objeto Solution2.
Propiedad pública Saved Obtiene o establece un valor que indica si una solución no se ha modificado desde la última vez que se guardó o se abrió.
Propiedad pública SolutionBuild Obtiene el objeto SolutionBuild para la solución, que representa la raíz del modelo de automatización de compilación en cuanto a la solución.
Propiedad pública TemplatePath Se reemplaza por GetProjectTemplate.

Arriba

Métodos

  Nombre Descripción
Método público AddFromFile Agrega un proyecto a la solución, basado en un archivo de proyecto ya almacenado en el sistema.
Método público AddFromTemplate Copia un archivo de proyecto existente y todos los elementos o subdirectorios que contenga a la ubicación especificada, y lo agrega a la solución.
Método público AddFromTemplateEx Copia un archivo de proyecto existente y todos los elementos o subdirectorios que contenga a la ubicación especificada, y lo agrega a la solución.
Método público AddSolutionFolder Agrega una carpeta de soluciones a una colección ProjectItems.
Método público Close Cierra la solución actual.
Método público Create Crea una solución vacía en el directorio especificado con el nombre que se indique.
Método público FindProjectItem Ubica un elemento en el proyecto.
Método público GetEnumerator Devuelve una enumeración para los elementos de una colección.
Método público GetProjectItemTemplate Devuelve una ruta de acceso a la plantilla de elementos del proyecto indicada.
Método público GetProjectItemTemplates Devuelve una colección de plantillas de elementos de proyecto para el proyecto especificado.
Método público GetProjectTemplate Devuelve una ruta de acceso a la plantilla de proyecto especificada.Si una plantilla tiene un elemento de RequiredFrameworkVersion mayor que 4,0, debe proporcionar la versión en la llamada para que la búsqueda de la plantilla encuentra una coincidencia.Por ejemplo, en lugar de llamar a GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); llamada GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.
Método público Item Devuelve un miembro indizado de una colección Projects.
Método público Open Abre una solución especificada.
Método público ProjectItemsTemplatePath Se reemplaza por GetProjectItemTemplate.
Método público Remove Quita el proyecto especificado de la solución.
Método público SaveAs Guarda la solución.

Arriba

Comentarios

El objeto Solution4 es una colección de todos los proyectos en la instancia actual del IDE y todas las propiedades de soluciones como, por ejemplo, configuraciones de compilación. El objeto Solution4 contiene un elemento de proyecto por cada proyecto, ya sea un proyecto ajustado, un subproyecto o un proyecto de nivel superior.

Se hace referencia a este objeto mediante DTE.Solution. Para hacer referencia a proyectos virtuales como MiscFiles o SolutionItems, utilice Solution4.Item(EnvDTE.Constants.vsProjectKindMisc) o Solution4.Item(EnvDTE.Constants.vsProjectKindSolutionItems).

Ejemplos

Para obtener información sobre cómo ejecutar este código de complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

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);
    }
}

Vea también

Referencia

EnvDTE100 (Espacio de nombres)