Freigeben über


Solution2.GetProjectTemplate-Methode

Gibt einen Pfad zur angegebenen Projektvorlage zurück.

Wenn eine Vorlage ein RequiredFrameworkVersions-Element höher als 4,0 ist, können Sie die Version im Aufruf bereitstellen, damit die Suche für die Vorlage eine Übereinstimmung findet. Anstatt, GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp") aufzurufen; Aufruf GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

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

Parameter

  • TemplateName
    Typ: String

    Der Name der Vorlage.

  • Language
    Typ: String

    Die Sprache, die zum Schreiben der Vorlage verwendet wurde.

Rückgabewert

Typ: String
Der vollständige Name der Projektvorlage.

Hinweise

Projektvorlagen können als ZIP-Dateien gespeichert werden. Bei dieser Methode werden Sie zur Eingabe des Projekts nach Name und Sprache aufgefordert, und es wird der Pfad zu der Vorlage zurückgegeben.

Die Parameter von GetProjectTemplate können auf unterschiedliche Art und Weise bereitgestellt werden, wie unten dargestellt:

  • Übergeben Sie "CSharp" als Language-Parameter und den Namen der ZIP-Datei als TemplateName.

    GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp");
    
  • Übergeben Sie "CSharp" als Language-Parameter sowie den partiellen Dateipfad "PocketPC2003\ClassLibrary.vstemplate", um den TemplateName eindeutig festzulegen.

    GetProjectTemplate("PocketPC2003\ClassLibrary.vstemplate", "CSharp");//partial file path
    
  • Übergeben Sie die Zeichenfolge "CSharp" als Language-Parameter und die Zeichenfolge "Pocket PC 2003 Class Library" für den TemplateName-Parameter. Die Zeichenfolge "Pocket PC 2003 Class Library" ist von der Ordnerhierarchie abgeleitet und wird als Benutzeroberflächenzeichenfolge bezeichnet. Weitere Beispiele für Benutzeroberflächenzeichenfolgen sind "Console Application" und "Windows Application".

    Hinweis

    Die Benutzeroberflächenzeichenfolgen ändern sich je nach Gebietsschema.Der TemplateName-Parameter wird am sichersten übergeben, wenn der Name der ZIP-Datei verwendet wird.

    GetProjectTemplate("Pocket PC 2003 Class Library", "CSharp");
    
  • Übergeben Sie die Zeichenfolge "CSharp" als Language-Parameter und die Zeichenfolge "PocketPC2003\Pocket PC 2003 Class Library" für den TemplateName-Parameter. ‎Letzteres enthält die Benutzeroberflächenzeichenfolge und einen Teilpfad, um die Vorlage eindeutig anzugeben.

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

Sie können auch eigene benutzerdefinierte Projektvorlagen erstellen. Um den Speicherort für die Vorlagen anzugeben, klicken Sie im Menü Extras auf Optionen. Klicken Sie im linken Bereich des Dialogfelds Optionen auf Projekte und Projektmappen. Geben Sie den Pfad für die Vorlagen im Feld Speicherort von Visual Studio-Benutzerprojektvorlagen ein. Sie können auch die Standardspeicherorte übernehmen.

Für benutzerdefinierte Vorlagen sind eindeutige Dateinamen erforderlich, sodass keine Konflikte mit den unter den folgenden Speicherorten definierten Dateinamen auftreten:

  • <Laufwerk>:\Programme\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\Sprache

Verwenden Sie lange Dateinamen (keine 8.3-Namen). Weitere Informationen finden Sie unter Creating Project and Item Templates.

Beispiele

Informationen zum Ausführen des Add-In-Codes finden Sie unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

Das folgende Beispiel zeigt das Erstellen einer Projektmappe und Hinzufügen eines Konsolenanwendungsprojekts.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

Solution2 Schnittstelle

EnvDTE80-Namespace