Udostępnij za pośrednictwem


Metoda Solution2.GetProjectItemTemplate —

Zwraca ścieżkę do szablonu elementu wskazanego projektu.

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

Składnia

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

Parametry

  • TemplateName
    Typ: String

    Nazwa szablonu.

  • Language
    Typ: String

    Język używany do napisania szablonu.

Wartość zwracana

Typ: String
Pełna nazwa szablonu elementu projektu.

Uwagi

Szablony projektów są przechowywane jako pliki zip.Ta metoda prosi o podanie nazwy i języka projektu i zwraca ścieżkę do szablonu.

Parametry GetProjectItemTemplate mogą być dostarczane na wiele różnych sposobów, jak pokazano poniżej:

  • Przekazać identyfikator GUID na inteligentne urządzenie projektu Visual Basic wirtualny jako Language parametr i nazwę pliku zip jako TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Przekazać identyfikator GUID na inteligentne urządzenie projektu Visual Basic wirtualny jako Language parametr i ciąg "Class" jako TemplateName.Ciąg "Class" pochodzi z hierarchii folderów i jest określany jako ciąg interfejsu użytkownika (UI).Inne ciągi interfejsu użytkownika to "HTML Page" i "Ekran powitalny".Ciągi interfejsu użytkownika zależne od ustawień regionalnych.Wykorzystanie nazwy pliku zip jest najbezpieczniejszym sposobem przekazywania parametru TemplateName.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Przekaż w ciągu "VisualBasic" jako parametr Language i nazwę pliku zip dla parametru TemplateName.To działa, ponieważ NETCFv2 Class.zip jest unikatowy dla inteligentnych urządzeń.

    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 w menu Narzędzia.W lewym okienku okna dialogowego Opcje, kliknij przycisk Projekty i rozwiązania.Wpisz ścieżki szablonów w polach lokalizacji szablonów elementów użytkownika programu Visual Studio.Zamiast tego można zaakceptować lokalizację domyślną.

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

<dysk>: \Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\ję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

Więcej informacji na temat uruchamiania tego kodu dodatku: Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.

W następującym przykładzie dodano stronę HTML do rozwiązania.

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)
    SaveAsExample(_applicationObject)
End Sub

Sub SaveAsExample(ByVal dte As DTE2)
    ' This add-in adds an HTML page to a solution.
    ' Open a Visual Basic solution in Visual Studio
    ' before running this example.

    Dim soln As Solution2 = _
    CType(_applicationObject.Solution, Solution2)
    Dim prj As Project
    Dim prjItem As ProjectItem
    Dim itemPath As String

    Try
        prj = soln.Projects.Item(1)
        itemPath = soln.GetProjectItemTemplate("HTMLPage.zip", _
        "VisualBasic")
        ' Create a new project item based on the template. 
        ' (In this case, an HTML page.)
        prjItem =  _
        prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml")

    Catch ex As SystemException
        MsgBox("ERROR: " & 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.
    SolnGetProjetItemExample((DTE2)_applicationObject);
}
public void SolnGetProjetItemExample(DTE2 dte)
{
    // This add-in adds an item to a Visual Basic solution.
    // Open a Visual Basic solution in Visual Studio 
    // before running this example.
 
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    ProjectItem prjItem;
    string itemPath;
    try
    {

        prj = soln.Projects.Item(1);
        itemPath = 
soln.GetProjectItemTemplate("HTMLPage.zip", "VisualBasic");
        // Create a new project item based on the template. 
        // (In this case, an HTML page.)
        prjItem = 
prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml");

    }
    catch (SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

Solution2 Interfejs

Przestrzeń nazw EnvDTE80