Udostępnij za pośrednictwem


Metoda Solution4.GetProjectItemTemplates — (String, String)

Zwraca kolekcję szablonów element projektu dla określonego projektu.

Przestrzeń nazw:  EnvDTE100
Zestaw:  EnvDTE100 (w EnvDTE100.dll)

Składnia

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

Parametry

  • Language
    Typ: System.String
    Język używany do zapisywania szablonu elementu projektu.
  • CustomDataSignature
    Typ: System.String
    Podpis dla wszelkich metadane skojarzone z szablonu elementu projektu.

Wartość zwracana

Typ: EnvDTE90.Templates
Kolekcja szablonów, zawierającą nazwy wszystkich szablonów elementu projektu.

Uwagi

Szablony projektów są przechowywane jako pliki zip.Ta metoda zwraca się do projektu przez nazwę i język i zwraca ścieżkę do szablonu.

Parametry GetProjectItemTemplate mogą być dostarczone w kilka różnych sposobów, jak pokazano poniżej:

  • Przekazuje w identyfikatora GUID dla urządzeń inteligentnych Visual Basic wirtualnych projektu jako Language parametr i nazwę pliku zip, jako TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Przekazuje w identyfikatora GUID dla urządzeń inteligentnych Visual Basic wirtualnych projektu jako Language parametr i ciąg "Klasa" jako TemplateName.Ciąg "Klasa" pochodzi od hierarchii folderów i jest określane jako interfejs użytkownika (UI) ciąg.Inne ciągi interfejsu użytkownika są "HTML Page" i "Ekran powitalny".Ciągi interfejsu użytkownika są zależne ustawień regionalnych.Przy użyciu nazwy pliku zip jest to najbezpieczniejszy sposób, aby przekazać TemplateName parametru.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Przekazanie w ciągu "Języka Visual Basic" jako Language parametr i nazwę pliku zip dla TemplateName parametru.Dzieje się tak, ponieważ NETCFv2 Class.zip jest unikatowy dla urządzeń inteligentnych.

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

Można również utworzyć niestandardowe szablony dla elementów projektu.Aby określić katalog, w którym będą przechowywane szablony, kliknij przycisk Opcje na Narzędzia menu.W lewym okienku Opcje okno dialogowe, kliknij przycisk projektów i roztwory.Wpisz ścieżki szablonów w Lokalizacja szablonów programu Visual Studio użytkownika elementu pól.Alternatywnie można zaakceptować lokalizację domyślną.

Szablony niestandardowe wymagają unikatowych nazw plików, które nie powodują konfliktów z nazwami plików, które określono w:

<dysku>: \Program Files\Microsoft 9\Common7\IDE\ItemTemplates\ programu Visual Studiojęzyka.

Upewnij się, że używasz długich nazw plików (w przeciwieństwie do 8dot3).Aby uzyskać więcej informacji, zobacz Creating Project and Item Templates.

Przykłady

Aby uzyskać informacje na temat uruchamiania tego dodać kod, zobacz Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji.

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

Solution4 Interfejs

Przeciążenie GetProjectItemTemplates

Przestrzeń nazw EnvDTE100

Inne zasoby

Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji