Aracılığıyla paylaş


Solution3.GetProjectItemTemplates Yöntem

Belirtilen proje için proje madde Şablonları koleksiyonu döndürür.

Ad alanı:  EnvDTE90
Derleme:  EnvDTE90 (EnvDTE90.dll içinde)

Sözdizimi

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

Parametreler

  • Language
    Tür: System.String
    Proje madde şablonunu yazmak için kullanılan dil.
  • CustomDataSignature
    Tür: System.String
    Proje öğesi şablonla ilişkilendirilmiş meta veriler için imza.

Dönüş Değeri

Tür: EnvDTE90.Templates
Tüm proje madde şablonları adlarını içeren Şablonları koleksiyonu.

Açıklamalar

Project Şablonları, zip dosyaları olarak depolanır. Bu yöntemin adı ve dil ile proje için sorar ve şablona yolunu döndürür.

Parametrelerini GetProjectItemTemplate aşağıda gösterildiği gibi çeşitli farklı şekillerde sağlanabilir:

  • GUID'deki geçmesi için akıllı bir aygıt Visual Basic sanal bir proje olarak Language parametre ve ZIP dosyasının adı TemplateName.

    GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • GUID'deki geçmesi için akıllı bir aygıt Visual Basic sanal bir proje olarak Language parametresi ve "Class" dize olarak TemplateName. "Class" dizesi Klasör sıradüzeninin türetilir ve kullanıcı arabirimi (UI) dizesi adlandırılır. "html sayfası" diğer UI dizeleridir ve "Giriş ekranı". Bağımlı yerel kullanıcı Arabirimi dizelerdir. ZIP dosyası adını kullanarak geçirmek için en güvenli yolu olan TemplateName parametresi.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • Dize "visualbasic" pass olarak Language parametre ve zip dosyasının adı TemplateName parametresi. NETCFv2 Class.zip cihazlar için benzersiz olduğundan, bu çalışır.

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

Ayrıca, proje öğeleri için özel şablonlar oluşturabilirsiniz. İçinde depolar şablonlarınızı dizini belirtmek için tıklatın seçenekleri üzerinde araçları menü. Sol bölmesindeki seçenekleri iletişim kutusunda'ı Projeler ve çözümler. Yollar şablonlarınız için yazın Visual Studio kullanıcı öğe şablonları kutuları. Alternatif olarak, varsayılan konumu kabul edebilir.

Özel şablonlar çakışmasını benzersiz dosya adları ile tanımlanan dosya adları gerektirir:

<sürücü>: \Program Files\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\Dil.

Uzun dosya adlarını (karşıt olarak 8dot3) kullandığınızdan emin olun. Daha fazla bilgi için bkz. Proje ve öğe Şablonlar oluşturma.

Örnekler

Bu eklenti kodu çalıştırma hakkında daha fazla bilgi için bkz: Nasıl Yapılır: derlemek ve otomasyon nesne modeli kod örnekleri çalıştırma.

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 Güvenliği

Ayrıca bkz.

Başvuru

Solution3 Arabirim

EnvDTE90 Ad Alanı

Diğer Kaynaklar

Nasıl Yapılır: derlemek ve otomasyon nesne modeli kod örnekleri çalıştırma