Freigeben über


Solution3.GetProjectItemTemplates-Methode

Gibt eine Auflistung von Projektelementvorlagen für das angegebene Projekt zurück.

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

Syntax

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

Parameter

  • Language
    Typ: String

    Die Sprache, die zum Schreiben der Projektelementvorlage verwendet wurde.

  • CustomDataSignature
    Typ: String

    Die Signatur für alle der Projektelementvorlage zugeordneten Metadaten.

Rückgabewert

Typ: EnvDTE90.Templates
Eine Vorlagenauflistung mit den Namen aller Projektelementvorlagen.

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 GetProjectItemTemplate können auf unterschiedliche Art und Weise bereitgestellt werden, wie unten dargestellt:

  • Übergeben Sie die GUID für ein virtuelles Visual Basic-Projekt für intelligente Geräte als Language-Parameter und den Namen der ZIP-Datei als TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Übergeben Sie die GUID für ein virtuelles Visual Basic-Projekt für intelligente Geräte als Language-Parameter und die Zeichenfolge "Class" als TemplateName. Die Zeichenfolge "Class" ist von der Ordnerhierarchie abgeleitet und wird als Benutzeroberflächenzeichenfolge bezeichnet. Andere Benutzeroberflächenzeichenfolgen sind "HTML Page" und "Splash Screen". Die Benutzeroberflächenzeichenfolgen sind vom Gebietsschema abhängig. Der TemplateName-Parameter wird am sichersten übergeben, wenn der Name der ZIP-Datei verwendet wird.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Übergeben Sie die Zeichenfolge "VisualBasic" als Language-Parameter und den Namen der ZIP-Datei als TemplateName-Parameter. Dies funktioniert, weil NETCFv2-Class.zip für intelligente Geräte eindeutig ist.

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

Sie können auch benutzerdefinierte Vorlagen für Projektelemente 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 die Pfade für die Vorlagen in den Feldern Speicherort von Visual Studio-Benutzerelementvorlagen ein. Sie können auch den Standardspeicherort ü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 9\Common7\IDE\ItemTemplates\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.

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 Solution3 = CType(DTE.Solution, Solution3)
        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{
        Solution3 soln = (Solution3)_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

Solution3 Schnittstelle

EnvDTE90-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell