Metodo Solution4.GetProjectItemTemplates (String, String)

Restituisce una raccolta di modelli di elementi del progetto per il progetto specificato.

Spazio dei nomi:  EnvDTE100
Assembly:  EnvDTE100 (in EnvDTE100.dll)

Sintassi

'Dichiarazione
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

Parametri

  • Language
    Tipo: System.String
    Linguaggio utilizzato per scrivere il modello dell’elemento del progetto.
  • CustomDataSignature
    Tipo: System.String
    Firma per tutti i metadati associati al modello dell'elemento del progetto.

Valore restituito

Tipo: EnvDTE90.Templates
Raccolta di modelli che contiene i nomi di tutti i modelli di elementi del progetto.

Note

I modelli di progetto vengono memorizzati come file ZIP.Il metodo richiede che venga fornito il progetto indicandone nome e linguaggio e restituisce il percorso al modello.

I parametri di GetProjectItemTemplate possono essere forniti in vari modi come descritto di seguito:

  • Passare il GUID relativo a un progetto virtuale Visual Basic per Smart Device come parametro Language e il nome del file ZIP come TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passare il GUID relativo a un progetto virtuale Visual Basic per Smart Device come parametro Language e la stringa "Class" come TemplateName.La stringa "Class" è derivata dalla gerarchia di cartelle ed è definita come la stringa dell'interfaccia utente.Altre stringhe di interfaccia utente sono "Pagina HTML" e "Schermata iniziale".Le stringhe di interfaccia utente sono dipendenti dalle impostazioni locali.L'utilizzo del nome del file ZIP è il modo più sicuro per passare il parametro TemplateName.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Passare la stringa "VisualBasic" come parametro Language e il nome del file ZIP per il parametro TemplateName.Questa operazione è possibile perché il file NETCFv2-Class.zip è univoco per Smart Device.

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

È possibile creare anche modelli personalizzati per gli elementi del progetto.Per specificare la directory in cui archiviare i modelli, scegliere Opzioni dal menu Strumenti.Nel riquadro sinistro della finestra di dialogo Opzioni scegliere Progetti e soluzioni.Digitare i percorsi relativi ai modelli nelle caselle Percorso dei modelli di elemento utente di Visual Studio.In alternativa, è possibile accettare il percorso predefinito.

I modelli personalizzati necessitano di nomi file univoci che non siano in conflitto con i nomi file definiti in:

<unità>:\Programmi\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\Linguaggio.

Assicurarsi di utilizzare nomi file lunghi, anziché nel formato 8.3.Per ulteriori informazioni, vedere Creating Project and Item Templates.

Esempi

Per informazioni sulla modalità di esecuzione di questo codice di componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

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);
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

Solution4 Interfaccia

Overload GetProjectItemTemplates

Spazio dei nomi EnvDTE100

Altre risorse

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione