Solution2.GetProjectItemTemplate (Método)

Devuelve una ruta de acceso a la plantilla de elementos del proyecto indicada.

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

Sintaxis

'Declaración
Function GetProjectItemTemplate ( _
    TemplateName As String, _
    Language As String _
) As String
string GetProjectItemTemplate(
    string TemplateName,
    string Language
)
String^ GetProjectItemTemplate(
    String^ TemplateName, 
    String^ Language
)
abstract GetProjectItemTemplate : 
        TemplateName:string * 
        Language:string -> string 
function GetProjectItemTemplate(
    TemplateName : String, 
    Language : String
) : String

Parámetros

  • Language
    Tipo: System.String
    Lenguaje utilizado para escribir la plantilla.

Valor devuelto

Tipo: System.String
Nombre completo de la plantilla de elementos del proyecto.

Comentarios

Las plantillas de proyecto se almacenan como archivos .zip. Este método pide el proyecto por nombre y lenguaje y devuelve la ruta de acceso a la plantilla.

Los parámetros de GetProjectItemTemplate se pueden proporcionar de varias maneras diferentes, como se muestra a continuación:

  • Pasando el identificador GUID de un proyecto virtual de Visual Basic para Smart Device como el parámetro Language, y el nombre del archivo zip como TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Pasando el identificador GUID de un proyecto virtual de Visual Basic para Smart Device como el parámetro Language, y la cadena "Class" como TemplateName. La cadena "Class" se deriva de la jerarquía de carpetas y se conoce como la cadena de la interfaz de usuario. Otras cadenas de la interfaz de usuario son "HTML Page" y "Splash Screen". Las cadenas de la interfaz de usuario son dependientes de la configuración regional. Utilizar el nombre del archivo zip es la manera más segura de pasar el parámetro TemplateName.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Pasando la cadena "VisualBasic" como el parámetro Language y el nombre del archivo zip del parámetro TemplateName. Esto funciona porque NETCFv2-Class.zip es único en Smart Devices.

    GetProjectItemTemplate("NETCFv2-Class.zip", "VisualBasic/SmartDevice-NETCFv2");
    

También puede crear plantillas personalizadas para elementos del proyecto. Para especificar el directorio en el que almacenará las plantillas, haga clic en el comando Opciones del menú Herramientas. En el panel izquierdo del cuadro de diálogo Opciones, haga clic en Proyectos y soluciones. Escriba las rutas de acceso de las plantillas en los cuadros Ubicación de plantillas de elemento de usuario de Visual Studio. También puede aceptar la ubicación predeterminada.

Las plantillas personalizadas requieren nombres de archivo únicos que no entren en conflicto con los nombres de archivo definidos en:

<unidad>:\Archivos de programa\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Idioma.

Asegúrese de utilizar nombres de archivo largos (en lugar del formato 8.3). Para obtener más información, vea Crear plantillas de proyectos y de elementos.

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.

En el ejemplo siguiente se agrega una página HTML a una solució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)
    SaveAsExample(_applicationObject)
End Sub

Sub SaveAsExample(ByVal dte As DTE2)
    ' This add-in adds an HTML page to a solution.
    ' Open a Visual Basic solution in Visual Studio
    ' before running this example.

    Dim soln As Solution2 = _
    CType(_applicationObject.Solution, Solution2)
    Dim prj As Project
    Dim prjItem As ProjectItem
    Dim itemPath As String

    Try
        prj = soln.Projects.Item(1)
        itemPath = soln.GetProjectItemTemplate("HTMLPage.zip", _
        "VisualBasic")
        ' Create a new project item based on the template. 
        ' (In this case, an HTML page.)
        prjItem =  _
        prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml")

    Catch ex As SystemException
        MsgBox("ERROR: " & 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.
    SolnGetProjetItemExample((DTE2)_applicationObject);
}
public void SolnGetProjetItemExample(DTE2 dte)
{
    // This add-in adds an item to a Visual Basic solution.
    // Open a Visual Basic solution in Visual Studio 
    // before running this example.
 
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    ProjectItem prjItem;
    string itemPath;
    try
    {

        prj = soln.Projects.Item(1);
        itemPath = 
soln.GetProjectItemTemplate("HTMLPage.zip", "VisualBasic");
        // Create a new project item based on the template. 
        // (In this case, an HTML page.)
        prjItem = 
prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml");

    }
    catch (SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Seguridad de .NET Framework

Vea también

Referencia

Solution2 Interfaz

EnvDTE80 (Espacio de nombres)