Partilhar via


Método Solution4.GetProjectItemTemplates (String, String)

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: System.String
    O idioma usado para gravar o modelo de item de projeto.
  • CustomDataSignature
    Tipo: System.String
    A assinatura para todos os metadados associados com o modelo de item de projeto.

Valor de retorno

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

Implementações

Solution3.GetProjectItemTemplates(String, String)

Comentários

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

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

  • Passar o GUID para um dispositivo inteligente Visual Basic projeto Virtual como o Language parâmetro e o nome do arquivo zip, como o TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passar o GUID para um dispositivo inteligente Visual Basic projeto Virtual como o Language parâmetro e "Classe" a seqüência de caracteres como o TemplateName. A seqüência de caracteres "Classe" é derivado da hierarquia de pastas e é conhecido como a seqüência de interface (UI) do usuário. Outras seqüências de caracteres de interface do usuário são "Página HTML" e "Tela". As seqüências de caracteres de interface do usuário são dependente da localidade. Usando o nome do arquivo zip é a maneira mais segura para passar o TemplateName parâmetro.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passar a seqüência de caracteres "visualbasic" como o Language parâmetro e o nome do arquivo zip para o TemplateName parâmetro. Isso funciona porque a Class.zip de NETCFv2 é exclusiva para dispositivos inteligentes.

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

Você também pode criar modelos personalizados para os itens de projeto. Para especificar o diretório no qual você armazenará seus modelos, clique em Opções sobre o Ferramentas menu. No painel esquerdo do Opções caixa de diálogo, clique em projetos e soluções. Digite os caminhos para os seus modelos no local de modelos de item de usuário Visual Studio caixas. Como alternativa, você pode aceitar o local padrão.

Modelos personalizados requerem nomes de arquivo exclusivo que não entrem em conflito com os nomes de arquivo definidos em:

<unidade>: \Arquivos de Programas\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\idioma.

Certifique-se de que você use nomes de arquivo longos (em oposição ao que esteja em formato 8.3). Para obter mais informações, consulte Criando modelos de projeto e de item.

Exemplos

Para obter informações sobre como executar esse código do suplemento, consulte Como: compilar e Executar a automação de exemplos de Código do modelo de objeto.

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

Sobrecargas GetProjectItemTemplates

Namespace EnvDTE100

Outros recursos

Como: compilar e Executar a automação de exemplos de Código do modelo de objeto