Condividi tramite


Metodo Solution2.GetProjectTemplate

Restituisce un percorso del modello del progetto indicato.

Se un modello dispone di un elemento di RequiredFrameworkVersion primo 4,0, è necessario fornire la versione nella chiamata in modo che la ricerca del modello trovare una corrispondenza. Ad esempio, anziché chiamare GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); chiamata GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.

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

Sintassi

'Dichiarazione
Function GetProjectTemplate ( _
    TemplateName As String, _
    Language As String _
) As String
string GetProjectTemplate(
    string TemplateName,
    string Language
)
String^ GetProjectTemplate(
    String^ TemplateName, 
    String^ Language
)
abstract GetProjectTemplate : 
        TemplateName:string * 
        Language:string -> string
function GetProjectTemplate(
    TemplateName : String, 
    Language : String
) : String

Parametri

  • TemplateName
    Tipo: String

    Nome del modello.

  • Language
    Tipo: String

    Linguaggio utilizzato per scrivere il modello.

Valore restituito

Tipo: String
Nome completo del modello 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 GetProjectTemplate possono essere forniti in vari modi come descritto di seguito:

  • Passare "CSharp" come parametro Language e il nome del file ZIP come TemplateName.

    GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp");
    
  • Passare "CSharp" come parametro Language e un percorso di file parziale "PocketPC2003\ClassLibrary.vstemplate" per specificare in modo univoco TemplateName.

    GetProjectTemplate("PocketPC2003\ClassLibrary.vstemplate", "CSharp");//partial file path
    
  • Passare la stringa "CSharp" come parametro Language e la stringa "Pocket PC 2003 Class Library" per il parametro TemplateName. La stringa "Pocket PC 2003 Class Library" è derivata dalla gerarchia di cartelle ed è definita come la stringa dell'interfaccia utente. Altri esempi di stringhe di interfaccia utente sono "Applicazione console" e "Applicazione Windows".

    Nota

    Le stringhe dell'interfaccia utente variano in base alle impostazioni locali.L'utilizzo del nome del file ZIP è il modo più sicuro per passare il parametro TemplateName.

    GetProjectTemplate("Pocket PC 2003 Class Library", "CSharp");
    
  • Passare la stringa "CSharp" come parametro Language e la stringa "PocketPC2003\Pocket PC 2003 Class Library" per il parametro TemplateName. Questo include la stringa UI e un percorso parziale per specificare in modo univoco il modello.

    GetProjectTemplate("PocketPC2003\Pocket PC 2003 Class Library", "CSharp");
    

È possibile inoltre creare modelli di progetto personalizzati. 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 il percorso relativo ai modelli nella finestra Percorso dei modelli di progetto utente di Visual Studio. In alternativa, è possibile accettare i percorsi predefiniti.

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

  • <unità>:\Programmi\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\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.

Nell'esempio riportato di seguito viene illustrato come creare una soluzione e aggiungervi un progetto di applicazione console.

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 Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Basic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//make sure to add this reference to your project references
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{
        Solution2 soln = (Solution2)_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

Solution2 Interfaccia

Spazio dei nomi EnvDTE80