Aracılığıyla paylaş


Solution2.GetProjectTemplate Yöntem

Belirtilen proje şablonu için bir yol verir.

Şablon 4. 0 ' daha yüksek bir RequiredFrameworkVersion öğesi varsa, böylece arama şablonu için bir eşleşme bulur sürümü çağrısında sağlamalıdır.Örneğin, çağırmak yerine GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); call GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.

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

Sözdizimi

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

Parametreler

  • TemplateName
    Tür: String

    Şablonun adı.

  • Language
    Tür: String

    Şablonu yazmak için kullanılan dil.

Dönüş Değeri

Tür: String
Proje şablonu tam adı.

Notlar

Proje şablonları, zip dosyaları olarak depolanır.Bu yöntem, projeyi ada ve dile göre arar ve yolunu şablona döndürür.

Parametreleri, GetProjectTemplate aşağıda gösterildiği gibi birkaç farklı yolla sağlanabilir:

  • "İçinde CSharp" olarak geçirdiğiniz Language parametresi ve ZIP dosyasının adı TemplateName.

    GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp");
    
  • "İçinde CSharp" olarak geçirdiğiniz Language parametresi ve kısmi dosya yolu; " PocketPC2003\ClassLibrary.vstemplate"benzersiz olarak belirtmek için TemplateName.

    GetProjectTemplate("PocketPC2003\ClassLibrary.vstemplate", "CSharp");//partial file path
    
  • Dize "CSharp" olarak geçirdiğiniz Language parametresi ve dize "Pocket PC 2003 sınıf kitaplığı" TemplateName parametresi.Dize "Pocket PC 2003 sınıf kitaplığı" klasör sıradüzeninin türetilir ve kullanıcı arabirimi (UI) dizesi adlandırılır.Diğer UI dizgilerinin "Konsol uygulaması" ve "Windows Application" örnektir.

    [!NOT]

    UI dizgilerinin yerel ayara göre değişiklik gösterir.Zip dosyasının adını kullanmak, TemplateName parametresini geçirmek için en güvenli yoldur.

    GetProjectTemplate("Pocket PC 2003 Class Library", "CSharp");
    
  • Dize "CSharp" olarak geçirdiğiniz Language parametresi ve "PocketPC2003\Pocket PC 2003 sınıf kitaplığı" dizesi için TemplateName parametresi.Bu UI dize ve benzersiz şablonu belirtmek için kısmi bir yol içerir.

    GetProjectTemplate("PocketPC2003\Pocket PC 2003 Class Library", "CSharp");
    

Kendi özel proje şablonları da oluşturabilirsiniz.Şablonlarınızı depolayacağınız dizini belirtmek için Araçlar menüsünde Seçenekler'e tıklayın.Seçenekler iletişim kutusunun sol bölmesinde, Projeler ve Çözümler'e tıklayın.Şablonlarınızı yolunu yazın Visual Studio kullanıcı proje şablonları konumu kutusu.Alternatif olarak, varsayılan konumları kabul edebilir.

Özel şablonlar, şurada tanımlanan dosya adlarıyla çakışmayan benzersiz dosya adları gerektirir:

  • <sürücü>: \Program 8\Common7\IDE\ProjectTemplates\ Visual Studiodili

Uzun dosya adları kullandığınızdan emin olun (8dot3 aksine).Daha fazla bilgi için bkz. Creating Project and Item Templates.

Örnekler

Bu eklenti kodunu çalıştırma hakkında daha fazla bilgi edinmek için bkz. Nasıl yapılır: Otomasyon Nesne Modeli Kod Örnekleri Derleme ve Çalıştırma.

Aşağıdaki örnek, bir çözüm oluşturmak ve konsol uygulama projesi eklemek gösterilmiştir.

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 Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Basic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//make sure to add this reference to your project references
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{
        Solution2 soln = (Solution2)_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

Solution2 Arabirim

EnvDTE80 Ad Alanı