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 şablonu 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
Proje öğesi şablonlarının adlarını içeren şablonları koleksiyonu.

Notlar

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

Parametrelerini GetProjectItemTemplate aşağıda gösterildiği gibi birkaç farklı yolla sağlanabilir:

  • GUID'deki geçmesi için akıllı bir aygıt Visual Basic sanal proje olarak Language parametresi 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 "Sınıf" dizesi olarak TemplateName.Dize "Sınıf" klasör sıradüzeninin türetilir ve olduğu gibi kullanıcı arabirimi (UI) dize gösteriyor.Diğer kullanıcı Arabirimi "html sayfası" ve "Başlangıç ekranı" dizelerdir.Bağımlı yerel kullanıcı Arabirimi dizelerdir.ZIP dosya adını kullanarak geçirmek için en güvenli yolu olan TemplateName parametresi.

    GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
    
  • "VisualBasic" dizesinde geçmesi olarak Language parametresi ve ZIP dosyasının adı TemplateName parametresi.Bu NETCFv2 Class.zip cihazlar için benzersiz olduğu için ç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 seçenekleri üzerinde araçları menü.Sol bölmesindeki seçenekleri iletişim kutusunu tıklatın 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 edebilirsiniz.

Ö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 8nokta3) kullandığınızdan emin olun.Daha fazla bilgi için bkz. Creating Project and Item Templates.

Ö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 örneklerini çalıştırmak.

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 örneklerini çalıştırmak