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
- Anında arayanlar için tam güven. Bu üye kısmen güvenilen kodla kullanılamaz. Daha fazla bilgi için bkz. Kısmen Güvenilen Koddan Kitaplıkları Kullanma.