Parameter template
Anda dapat mengganti nilai dalam templat Anda saat templat dibuat. Untuk menyiapkan fungsionalitas ini, gunakan parameter templat. Parameter templat dapat digunakan untuk mengganti nilai seperti nama kelas dan namespace dalam templat. Wizard templat yang berjalan di latar belakang saat pengguna menambahkan item atau proyek baru menggantikan parameter ini.
Mendeklarasikan dan mengaktifkan parameter templat
Parameter templat dideklarasikan dalam format $parameter$. Contohnya:
$rootnamespace$
$guid 1$
$guid 5$
Mengaktifkan substitusi parameter dalam templat
Dalam file .vstemplate templat, temukan
ProjectItem
elemen yang sesuai dengan item yang ingin Anda aktifkan penggantian parameternya.Atur atribut
ReplaceParameters
dari elemenProjectItem
ketrue
.Dalam file kode untuk item proyek, sertakan parameter jika sesuai. Misalnya, parameter berikut menentukan bahwa namespace layanan akar digunakan untuk namespace dalam file:
namespace $rootnamespace$
Parameter templat yang dipesan
Tabel berikut mencantumkan parameter templat yang dipesan yang dapat digunakan oleh templat apa pun:
Parameter | Deskripsi |
---|---|
clrversion | Versi runtime bahasa umum (CLR) saat ini. |
Ext_* | Tambahkan awalan ext_ ke parameter apa pun untuk merujuk ke variabel templat induk. Contohnya,ext_safeprojectname . |
guid[1-10] | GUID yang digunakan untuk mengganti GUID proyek dalam file proyek. Anda dapat menentukan hingga 10 GUID unik (misalnya, guid1 ). |
nama item | Nama file tempat parameter digunakan. |
nama mesin | Nama komputer saat ini (misalnya, Computer01). |
nama proyek | Nama yang disediakan oleh pengguna saat proyek dibuat. Parameter ini hanya berlaku untuk templat proyek. |
registeredorganization | Nilai kunci registri dari HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization. |
rootnamespace | Namespace layanan akar proyek saat ini diikuti oleh subfolder item saat ini, dengan garis miring digantikan oleh titik. |
defaultnamespace | Namespace layanan akar proyek saat ini. |
nama safeitem | Sama seperti itemname tetapi dengan semua karakter dan spasi yang tidak aman digantikan oleh karakter garis bawah. |
safeitemrootname | Sama seperti safeitemname . |
safeprojectname | Nama yang disediakan oleh pengguna saat proyek dibuat tetapi dengan semua karakter dan spasi tidak aman dihapus. Parameter ini hanya berlaku untuk templat proyek. |
targetframeworkversion | Versi target .NET Framework saat ini. |
waktu | Waktu saat ini dalam format yang didasarkan pada pengaturan pengguna Windows. Salah satu contoh format waktu adalah DD/MM/YYYY 00:00:00. |
specifiedsolutionname | Nama solusinya. Ketika "Tempatkan solusi dan proyek di direktori yang sama" tidak dicentang, specifiedsolutionname memiliki nama solusi. Ketika "buat direktori solusi" tidak dicentang, specifiedsolutionname kosong. |
userdomain | Domain pengguna saat ini. |
Nama pengguna | Nama pengguna saat ini. |
ruang nama web | Nama situs web saat ini. Parameter ini digunakan dalam templat formulir web untuk menjamin nama kelas yang unik. Jika situs web berada di direktori akar server web, parameter templat ini diselesaikan ke direktori akar server web. |
tahun | Tahun saat ini dalam format YYYY. |
Catatan
Parameter templat peka huruf besar/kecil.
Parameter templat kustom
Anda dapat menentukan parameter dan nilai templat Anda sendiri, selain parameter templat default yang dipesan yang digunakan selama penggantian parameter. Untuk informasi selengkapnya, lihat Elemen CustomParameters (templat Visual Studio).
Contoh: Gunakan nama proyek untuk nama file
Anda dapat menentukan nama file variabel untuk item proyek dengan menggunakan parameter dalam TargetFileName
atribut .
Contoh berikut menentukan bahwa nama file yang dapat dieksekusi menggunakan nama proyek, yang ditentukan oleh $projectname$
.
<TemplateContent>
<ProjectItem
ReplaceParameters="true"
TargetFileName="$projectname$.exe">
File1.exe
</ProjectItem>
...
</TemplateContent>
Contoh: Gunakan nama proyek aman untuk nama namespace layanan
Untuk menggunakan nama proyek aman untuk namespace layanan dalam file kelas C#, gunakan sintaks berikut:
namespace $safeprojectname$
{
public class Class1
{
public Class1()
{ }
}
}
Dalam file .vstemplate untuk templat proyek, sertakan ReplaceParameters="true"
atribut saat Anda mereferensikan file:
<TemplateContent>
<ProjectItem ReplaceParameters="true">
Class1.cs
</ProjectItem>
...
</TemplateContent>