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 | |
---|---|---|
AddIns | Obtiene una colección AddIns, que contiene todos los complementos disponibles actualmente y que están asociados a la solución. | |
Count | Obtiene un valor que indica el número de proyectos de la solución. | |
DTE | Obtiene el objeto de extensibilidad de nivel superior. | |
Extender | Obtiene el objeto Extender solicitado si está disponible para este objeto. | |
ExtenderCATID | Obtiene el identificador de categoría (CATID) de extensor para el objeto. | |
ExtenderNames | Obtiene una lista de los objetos Extender disponibles para el objeto. | |
FileName | Infraestructura. Obtiene el nombre de archivo. | |
FullName | Obtiene la ruta de acceso completa y el nombre de archivo del objeto. | |
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. | |
IsDirty | Infraestructura. Determina si la solución ha cambiado (es decir, se ha modificado pero no guardado). | |
IsOpen | Obtiene un valor que indica si una solución está abierta. | |
Parent | Obtiene el objeto primario inmediato de un objeto Solution2. | |
Projects | Obtiene una colección de los proyectos actuales de la solución. | |
Properties | Obtiene una colección de todas las propiedades pertenecientes al objeto Solution2. | |
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ó. | |
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. | |
TemplatePath | Se reemplaza por GetProjectTemplate. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
AddFromFile | Agrega un proyecto a la solución, basado en un archivo de proyecto ya almacenado en el sistema. | |
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. | |
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. | |
AddSolutionFolder | Agrega una carpeta de soluciones a una colección ProjectItems. | |
Close | Cierra la solución actual. | |
Create | Crea una solución vacía en el directorio especificado con el nombre que se indique. | |
FindProjectItem | Ubica un elemento en el proyecto. | |
GetEnumerator | Devuelve una enumeración para los elementos de una colección. | |
GetProjectItemTemplate | Devuelve una ruta de acceso a la plantilla de elementos del proyecto indicada. | |
GetProjectItemTemplates | Devuelve una colección de plantillas de elementos de proyecto para el proyecto especificado. | |
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");. | |
Item | Devuelve un miembro indizado de una colección Projects. | |
Open | Abre una solución especificada. | |
ProjectItemsTemplatePath | Se reemplaza por GetProjectItemTemplate. | |
Remove | Quita el proyecto especificado de la solución. | |
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);
}
}