Solution2 (Interfaz)
Representa todos los proyectos y propiedades de soluciones del entorno de desarrollo integrado (IDE).
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
<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
El tipo Solution2 expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
AddIns | Obtiene una colección AddIns que contiene todos los complementos actualmente disponibles 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. Sólo para uso interno de Microsoft. | |
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. Sólo para uso interno de Microsoft. | |
IsOpen | Obtiene un valor que indica si está abierta una solución. | |
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. | |
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. | |
GetProjectTemplate | Devuelve una ruta de acceso a la plantilla de proyecto indicada.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
Esta interfaz contiene 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. Contiene un elemento de proyecto por cada proyecto, ya sea un proyecto ajustado, un subproyecto o un proyecto de nivel superior.
Puede buscar la solución abierta utilizando la propiedad DTE.Solution. Para hacer referencia a proyectos virtuales como, por ejemplo, MiscFiles o SolutionItems, utilice Solution.Item(EnvDTE.Constants.vsProjectKindMisc o Solution.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.
El siguiente código crea una nueva solución de aplicación de consola en la ruta de acceso determinada.
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);
}
}