Partilhar via


Método Solution4.GetProjectItemTemplates

Retorna uma coleção de modelos de item de projeto para o projeto especificado.

Namespace:  EnvDTE100
Assembly:  EnvDTE100 (em EnvDTE100.dll)

Sintaxe

'Declaração
Function GetProjectItemTemplates ( _
    Language As String, _
    CustomDataSignature As String _
) As Templates
Templates GetProjectItemTemplates(
    string Language,
    string CustomDataSignature
)
Templates^ GetProjectItemTemplates(
    String^ Language, 
    String^ CustomDataSignature
)
abstract GetProjectItemTemplates : 
        Language:string * 
        CustomDataSignature:string -> Templates
function GetProjectItemTemplates(
    Language : String, 
    CustomDataSignature : String
) : Templates

Parâmetros

  • Language
    Tipo: String

    O idioma usado para gravar o modelo de item.

  • CustomDataSignature
    Tipo: String

    A assinatura para todos os metadados associado com o modelo de item.

Valor de retorno

Tipo: Templates
Uma coleção de modelos que contém os nomes de todos os modelos de item.

Comentários

Modelos de projeto são armazenados como arquivos zip. Este método solicita o projeto por nome e idioma e retorna o caminho para o modelo.

Os parâmetros de GetProjectItemTemplate podem ser fornecidos em um número de diferentes maneiras como mostrado abaixo:

  • Passe o GUID de um projeto virtual Visual Basic de dispositivo inteligente como o parâmetro Language e o nome do arquivo zip como o TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passe o GUID de um projeto virtual Visual Basic de dispositivo inteligente como o parâmetro Language e a cadeia de caracteres "Classe" como o TemplateName. A cadeia de caracteres "Classe" deriva da hierarquia de pastas e conhecida como a cadeia de caracteres da interface do usuário. Outras cadeias de caracteres de interface do usuário são "Página HTML" e "Tela Inicial". As cadeias de caracteres de interface do usuário dependem da localidade. O uso do nome do arquivo zip é a maneira mais segura de passar o parâmetro TemplateName.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passe a cadeia de caracteres "VisualBasic" como o parâmetro Language e o nome do arquivo zip para o parâmetro TemplateName. Isso funciona porque NETCFv2-Class.zip é exclusivo de dispositivos inteligentes.

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

Também é possível criar modelos personalizados para itens de projeto. Para especificar o diretório no qual você armazenará os modelos, clique em Opções no menu Ferramentas. No painel esquerdo da caixa de diálogo Opções, clique em Projetos e Soluções. Digite os caminhos dos modelos nas caixas Local dos modelos de item de usuário do Visual Studio. Como alternativa, é possível aceitar o local padrão.

Modelos personalizados exigem nomes de arquivo exclusivos não conflitantes com os nomes de arquivo definidos em:

<unidade>:\Program Files\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\Linguagem.

Verifique se você está usando nomes de arquivo longos (em vez de 8dot3). Para obter mais informações, consulte Creating Project and Item Templates.

Exemplos

Para obter informações sobre como executar este código do suplemento, consulte Como compilar e executar os exemplos de código do modelo de objeto Automation.

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 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 = 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)
        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.
    SolutionExample((DTE2)_applicationObject);
}

public void SolutionExample(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);
    }
}

Segurança do .NET Framework

Consulte também

Referência

Solution4 Interface

Namespace EnvDTE100

Outros recursos

Como compilar e executar os exemplos de código do modelo de objeto Automation