Cómo: Crear elementos de proyecto mediante programación
Para crear elementos de proyecto mediante programación, llame primero a GetProjectItemTemplate y pase a continuación las rutas de acceso de las plantillas devueltas a AddFromTemplate.Para obtener más información, vea Visual Studio Templates.
El método GetProjectItemTemplate devuelve la plantilla del archivo .zip adecuado para usarlo con el método AddFromTemplate.Las plantillas de elemento de proyecto para todos los lenguajes se encuentran en \Archivos de programa\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\lenguaje\.
También puede crear sus propias plantillas de elemento de proyecto personalizadas.Para especificar el directorio en el que almacenará las plantillas, haga clic en el comando Opciones del menú Herramientas.En el panel de la izquierda del cuadro de diálogo Opciones, haga clic en Proyectos y soluciones.Escriba la ruta de acceso de las plantillas en el cuadro Ubicación de plantillas de elemento de usuario de Visual Studio.
Las plantillas personalizadas requieren nombres de archivo únicos que no entren en conflicto con los nombres de archivo que se definen en: \Archivos de programa\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\lenguaje\.
Asegúrese de utilizar nombres de archivo largos (en lugar del formato 8.3).Para obtener más información, vea Creating Project and Item Templates.
Para quitar proyectos de la solución, utilice Remove.
El ejemplo siguiente dirige la definición de método genérico para crear elementos de proyecto.Los temas mostrados en la sección Vea también indican cómo utilizar los modelos específicos de idioma.
[!NOTA]
Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones.La edición de Visual Studio que tenga y la configuración que esté usando determinan estos elementos.Para obtener más información, vea Valores de configuración de Visual Studio.
Agregar elementos a proyectos
Para agregar elementos a un proyecto mediante programación
Inicie Visual Studio y cree un proyecto de complemento de Visual Studio.
Agregue el código que se muestra más adelante en este tema a la clase Connect del complemento.
Ejecute el proyecto de complemento y actívelo en Administrador de complementos; para ello, haga clic en Administrador de complementos en el menú Herramientas y, a continuación, active la casilla situada al lado del complemento.
Ejemplo
El ejemplo siguiente muestra cómo agregar elementos mediante programación a un proyecto Visual Basic existente.
' Before running the following code, be sure that a Visual Basic
' project is open in Visual Studio.
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)
createProjectItem(_applicationObject)
End Sub
Sub createProjectItem(ByVal dte As DTE2)
' Adds a new Class to an existing Visual Basic project.
Dim soln As Solution2
Dim prj As Project
soln = CType(_applicationObject.Solution, Solution2)
Dim prjItem As ProjectItem
Dim itemPath As String
' Point to the first project (the Visual Basic project).
prj = soln.Projects.Item(1)
' Retrieve the path to the Class template.
itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj")
' Create a new project item based on the template, in this case,
' a Class.
prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass")
End Sub
// Before running the following code, be sure that a Visual Basic
// project is open in Visual Studio.
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.
createProjectItem(_applicationObject);
}
public void createProjectItem(DTE2 dte)
{
//Adds a new Class to an existing Visual Basic project.
Solution2 soln;
Project prj;
soln = (Solution2)_applicationObject.Solution;
ProjectItem prjItem;
String itemPath;
// Point to the first project (the Visual Basic project).
prj = soln.Projects.Item(1);
// Retrieve the path to the class template.
itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj");
//Create a new project item based on the template, in this
// case, a Class.
prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass");
}
Compilar el código
Para compilar este código, cree un proyecto de complemento de Visual Studio y reemplace el código de la clase Connect.cs o Connect.vb con el código del ejemplo.Antes de ejecutar el complemento, abra un proyecto de Visual Basic en Visual Studio.Para obtener información sobre cómo ejecutar un complemento, vea Cómo: Controlar complementos con el Administrador de complementos.
Programación eficaz
Si se utilizan nombres de elementos de proyecto como parámetro de Solution.Projects.Item, se debe usar el nombre único del proyecto.El nombre único es una ruta de acceso relativa desde el directorio que contiene el archivo de solución (.sln) hasta el archivo de proyecto.
Por ejemplo, considere la estructura de solución/proyecto siguiente:
SomeSolution.sln
WinApp1
WinApp1.VBProj
El nombre único para el proyecto sería "WinApp1/WinApp1 .VBProj" y la llamada al método Item sería Solution.Projects.Item("WinApp1/WinApp1.VBProj").
Vea también
Tareas
Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización
Cómo: Crear proyectos mediante programación
Conceptos
Manipular proyectos de Visual Basic y Visual C#
Manipular proyectos de Visual C++
Introducción a las plantillas de Visual Studio