Aracılığıyla paylaş


Nasıl yapılır: program aracılığıyla projeler oluşturmak

Bir proje oluşturmak için çağrı GetProjectTemplate, döndürülen şablon yollara geçmesi ve AddFromTemplate.

Project şablonları, .vstemplate dosya adı uzantısına sahiptir ve .zip dosyaları içinde depolanır. Dosyasının yolu .vstemplate (.zip dosyası) elde etmek için GetProjectTemplate, kendisine iletmek ve AddFromTemplate biri zaten açık değilse, proje (ve aynı zamanda bir çözüm) oluşturmak için. Her proje için halen açık olan çözüm eklenir ve gerekli sayıda bu işlemi gerçekleştirebilirsiniz.

Tüm diller için project şablonları Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\ bulunabilirDil\.

Kendi özel proje şablonları da oluşturabilirsiniz. İçinde depolar şablonlarınızı dizini belirtmek için seçenekleri üzerinde araçları menü. Sol bölmesinde seçenekleri iletişim kutusunu tıklatın Projeler ve çözümler. Şablonlarınızı yolunu Visual Studio kullanıcı proje şablonları kutusu.

Özel proje şablonları gerektirir çakışmasını benzersiz dosya adları, Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\ içinde tanımlanan dosya adlarını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.

Not

Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza ve ürün sürümüne bağlı olarak Yardım menüsünde açıklanana göre farklılık gösterebilir.Bu yordamlar, genel geliştirme ayarları ile etkin geliştirilmiştir.Ayarlarınızı değiştirmek için alma ve vermeayarları üzerinde araçları menü.Daha fazla bilgi için bkz. Visual Studio ayarları.

Bir proje oluşturma

Program aracılığıyla bir proje oluşturmak için

  1. Başlat Visual Studio ve bir Visual Studio eklenti projesi.

  2. Eklenti için Connect sınıfı, bu konunu sonraki bölümlerinde gösterilen örnek kodu ekleyin.

  3. Eklenti projesinin çalıştırın ve onu etkinleştirmek Add-In Manager.

    Bunu yapmak için Add-In Manager üzerinde araçları menü ve eklentiyi seçin.

Örnek

Aşağıdaki örnek GetProjectTemplate ve AddFromTemplate iki konsolu oluşturmak için projeler, bir Visual Basic ve diğer Visual C#, bir çözüm içinde.

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

Sub createProjectsFromTemplates(ByVal dte As DTE2)
    Try
        ' Create a solution with two projects in it, based on project 
        ' templates.
        Dim soln As Solution2 = CType(DTE.Solution, _
        Solution2)
        Dim csTemplatePath As String
        Dim vbTemplatePath As String
        Dim csPrjPath As String = _
        "C:\UserFiles\user1\addins\MyCSProject"
        Dim vbPrjPath As String = _
        "C:\UserFiles\user1\addins\MyVBProject"

        ' Get the project template path for a C# console project.
        ' Console Application is the template name that appears in the 
        ' right pane, "CSharp" is the Language(vstemplate) as seen in 
        ' the registry.
        csTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp")
        MsgBox("C# template path: " & csTemplatePath)
        ' Get the project template path for a Visual Basic
        ' console project.
        ' "vbproj: is the DefaultProjectExtension as seen in the 
        ' registry.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "vbproj")
        MsgBox("Visual Basic template path: " & vbTemplatePath)
        ' Create a new C# console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
          "New CSharp Console Project", False)
        ' Create a new Visual Basic console project using the template
        ' obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
          "New Visual Basic Console Project", False)
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    createProjectsFromTemplates(_applicationObject);
}

public void createProjectsFromTemplates(DTE2 dte)
{
    try
    {
        // Create a solution with two projects in it, based on project 
        // templates.
        Solution2 soln = (Solution2)dte.Solution;
        string csTemplatePath;
        string vbTemplatePath;
        string csPrjPath = "C:\\UserFiles\\user1\\addins\\MyCSProject";
        string vbPrjPath = "C:\\UserFiles\\user1\\addins\\MyVBProject";
        // Get the project template path for a C# console project.
        // Console Application is the template name that appears in 
        // the right pane. "CSharp" is the Language(vstemplate) as seen 
        // in the registry.
        csTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "CSharp");
        System.Windows.Forms.MessageBox.Show("C# template path: " + 
          csTemplatePath);
        // Get the project template path for a Visual Basic console
        // project.
        // "vbproj: is the DefaultProjectExtension as seen in the 
        // registry.
        vbTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "vbproj");
        System.Windows.Forms.MessageBox.Show("Visual Basic template path: " + 
          vbTemplatePath);
        // Create a new C# console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, "New CSharp 
          Console Project", false);
        // Create a new Visual Basic console project using the template 
        // obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, "New VB Console 
          Project", false);
    }
    catch (System.Exception ex)
    {
        System.Windows.Forms.MessageBox.Show("ERROR: " + ex.Message);
    }
}

Ayrıca bkz.

Görevler

Nasıl yapılır: derlemek ve Otomasyon nesne modeli kod örneklerini çalıştırmak

Nasıl yapılır: program aracılığıyla proje öğeleri oluşturun

Kavramlar

Visual Basic ve Visual C# projeleri yönetmek

Visual C++ özellikleri değiştirme

Diğer Kaynaklar

Çözüm ve projeleri denetleme