Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kendi proje türünüzü nasıl oluşturacağınız hakkında hiç düşündünüz mü? Yeni bir proje oluşturduğunuzda gerçekten ne olacağını merak mı edin? Kaputun altına bir göz atalım ve neler olup bittiğini görelim.
Visual Studio'yu sizin için koordine eden birkaç görev vardır:
Kullanılabilir tüm proje türlerinden oluşan bir ağaç görüntüler.
Her proje türü için uygulama şablonlarının listesini görüntüler ve bir tane seçmenize olanak tanır.
Uygulama için proje adı ve yol gibi proje bilgilerini toplar.
Bu bilgileri proje fabrikasına geçirir.
Geçerli çözümde proje öğeleri ve klasörleri oluşturur.
Yeni Proje İletişim Kutusu
Her şey, yeni bir proje için bir proje türü seçtiğinizde başlar. Dosya menüsünde Yeni Proje'ye tıklayarak başlayalım. Yeni Proje iletişim kutusu görüntülenir ve şöyle görünür:
Şimdi bunlara daha yakından bakalım. Proje türleri ağacı, oluşturabileceğiniz çeşitli proje türlerini listeler. Visual C# Windows gibi bir proje türü seçtiğinizde, kullanmaya başlamanız için uygulama şablonlarının listesini görürsünüz. Visual Studio yüklü şablonlar Visual Studio tarafından yüklenir ve bilgisayarınızın herhangi bir kullanıcısı tarafından kullanılabilir. Oluşturduğunuz veya topladığınız yeni şablonlar Şablonlarım'a eklenebilir ve yalnızca sizin kullanımınıza sunulur.
Windows Uygulaması gibi bir şablon seçtiğinizde, iletişim kutusunda uygulama türünün açıklaması görüntülenir; bu durumda, Windows kullanıcı arabirimiyle uygulama oluşturmaya yönelik bir proje.
Yeni Proje iletişim kutusunun en altında, daha fazla bilgi toplayan çeşitli denetimler görürsünüz. Gördüğünüz denetimler proje türüne bağlıdır, ancak bunlar genellikle proje Adı metin kutusu, Konum metin kutusu ve ilgili Gözat düğmesi ile Çözüm Adı metin kutusu ve çözüm için ilgili Dizin oluştur onay kutusunu içerir.
Yeni Proje İletişim Kutusunu Doldurma
Yeni Proje iletişim kutusu bilgilerini nereden alır? Burada iki mekanizma vardır ve bunlardan biri kullanım dışıdır. Yeni Proje iletişim kutusu her iki mekanizmadan alınan bilgileri birleştirir ve görüntüler.
Eski (kullanım dışı) yöntemi sistem kayıt defteri girdilerini ve .vsdir dosyalarını kullanır. Bu mekanizma Visual Studio açıldığında çalışır. Daha yeni yöntem .vstemplate dosyalarını kullanır. Bu mekanizma Visual Studio başlatıldığında, örneğin çalıştırılarak çalışır
devenv /setup
veya
devenv /installvstemplates
Proje Türleri
Visual C# ve Diğer Diller gibi Proje türleri kök düğümlerinin konumu ve adları sistem kayıt defteri girdileri tarafından belirlenir. Veritabanı ve Akıllı Cihaz gibi alt düğümlerin organizasyonu, karşılık gelen .vstemplate dosyalarını içeren klasörlerin hiyerarşisini yansıtır. Önce kök düğümlere bakalım.
Proje Türü Kök Düğümleri
Visual Studio başlatıldığında, Proje türleri ağacının kök düğümlerini oluşturmak ve adlandırmak için HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\NewProjectTemplates\TemplateDirs sistem kayıt defteri anahtarının alt anahtarlarının geçişini yapar. Bu bilgiler daha sonra kullanılmak üzere önbelleğe alınır. TemplateDirs\{FAE04EC1-301F-11D3-BF4B-00C04F79EFBC}\/1 anahtarına bakın. Her girdi bir VSPackage GUID'dir. Alt anahtarın (/1) adı yoksayılır, ancak iletişim durumu bunun bir Proje türleri kök düğümü olduğunu gösterir. Bir kök düğümün proje türleri ağacındaki görünümünü denetleyebilen birkaç alt anahtarı olabilir. Bazılarına bakalım.
EnterprisePublishing
Bu, kök düğümü adlandıran yerelleştirilmiş dizenin kaynak kimliğidir. Dize kaynağı, VSPackage GUID tarafından seçilen uydu DLL'de bulunur.
Örnekte VSPackage GUID değeri
{FAE04EC1-301F-11D3-BF4B-00C04F79EFBC}
ve kök düğümün (/1) kaynak kimliği (varsayılan değer) #2345'tir
Yakındaki Packages anahtarında GUID'yi arar ve SatelliteDll alt anahtarını incelerseniz, dize kaynağını içeren derlemenin yolunu bulabilirsiniz:
<Visual Studio yükleme yolu>\VC#\VCSPackages\1033\csprojui.dll
Bunu doğrulamak için Dosya Gezgini açın ve csprojui.dll dosyasını Visual Studio dizinine sürükleyin.. Dize tablosunda #2345 kaynağının Visual C# başlık olduğu gösterilir.
SortPriority
Bu, kök düğümün Proje türleri ağacındaki konumunu belirler.
SortPriority REG_DWORD 0x00000014 (20)
Öncelik sayısı ne kadar düşükse, ağaçtaki konum o kadar yüksektir.
DeveloperActivity
Bu alt anahtar varsa, kök düğümün konumu Geliştirici Ayarlar iletişim kutusu tarafından denetlenirse. Örneğin,
DeveloperActivity REG_SZ VC#
Visual Studio, Visual C++ geliştirmesi için ayarlandıysa Visual C# öğesinin kök düğüm olacağını gösterir. Aksi takdirde, Diğer Dillerin alt düğümü olur.
Klasör
Bu alt anahtar varsa, kök düğüm belirtilen klasörün alt düğümü olur. Anahtarın altında olası klasörlerin listesi görüntülenir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\NewProjectTemplates\PseudoFolders
Örneğin, Veritabanı Projeleri girdisinde, PseudoFolders içindeki Diğer Proje Türleri girişiyle eşleşen bir Klasör anahtarı vardır. Bu nedenle, Proje türleri ağacında Veritabanı Projeleri Diğer Proje Türlerinin alt düğümü olacaktır.
Proje Türü Alt Düğümleri ve .vstdir Dosyaları
Project türleri ağacındaki alt düğümlerin konumu, ProjectTemplates klasörlerindeki klasörlerin hiyerarşisini izler. Makine şablonları (Visual Studio yüklü şablonlar) için, normal konum \Program Files\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\ ve kullanıcı şablonları (Şablonlarım) için normal konum \Belgelerim\Visual Studio 14.0\Templates\ProjectTemplates\'dir. Bu iki konumdaki klasör hiyerarşileri, Proje türleri ağacını oluşturmak için birleştirilir.
C# geliştirici ayarlarına sahip Visual Studio için Proje türleri ağacı şuna benzer:
İlgili ProjectTemplates klasörü şöyle görünür:
Yeni Proje iletişim kutusu açıldığında, Visual Studio ProjectTemplates klasörünü geçirir ve proje türleri ağacında yapısını bazı değişikliklerle yeniden oluşturur:
Proje türleri ağacındaki kök düğüm, uygulama şablonu tarafından belirlenir.
Düğüm adı yerelleştirilebilir ve özel karakterler içerebilir.
Sıralama düzeni değiştirilebilir.
Proje Türü için Kök Düğümü Bulma
Visual Studio ProjectTemplates klasörlerini geçtiğinde, tüm .zip dosyalarını açar ve tüm .vstemplate dosyalarını ayıklar. .vstemplate dosyası, bir uygulama şablonunu açıklamak için XML kullanır. Daha fazla bilgi için bkz . Yeni Proje Oluşturma: Başlık Altında, İkinci Bölüm.
<ProjectType> etiketi, uygulamanın proje türünü belirler. Örneğin, \CSharp\SmartDevice\WindowsCE\1033\WindowsCE-EmptyProject.zip dosyası şu etikete sahip bir EmptyProject.vstemplate dosyası içerir:
<ProjectType>CSharp</ProjectType>
<ProjectTemplates klasöründeki alt klasör değil ProjectType> etiketi, bir uygulamanın Proje türleri ağacındaki kök düğümünü belirler. Örnekte, Windows CE uygulamaları Visual C# kök düğümü altında görünür ve WindowsCE klasörünü VisualBasic klasörüne taşısanız bile, Windows CE uygulamaları Visual C# kök düğümü altında görünmeye devam eder.
Düğüm Adını Yerelleştirme
Visual Studio ProjectTemplates klasörlerini geçtiğinde bulduğu tüm .vstdir dosyalarını inceler. .vstdir dosyası, Yeni Proje iletişim kutusunda proje türünün görünümünü denetleen bir XML dosyasıdır. .vstdir dosyasında LocalizedName> etiketini kullanarak <Proje türleri düğümünü adlandırın.
Örneğin, \CSharp\Database\TemplateIndex.vstdir dosyası şu etiketi içerir:
<LocalizedName Package="{462b036f-7349-4835-9e21-bec60e989b9c}" ID="4598"/>
Bu, kök düğümü (bu örnekte Veritabanı) adlandıran yerelleştirilmiş dizenin uydu DLL'sini ve kaynak kimliğini belirler. Yerelleştirilmiş ad, .NET gibi klasör adları için kullanılamayan özel karakterler içerebilir.
LocalizedName etiketi yoksa<, proje türü klasörün kendisi tarafından smart Telefon 2003 olarak> adlandırılır.
Proje Türü için Sıralama Düzenini Bulma
Proje türünün sıralama düzenini belirlemek için .vstdir dosyaları SortOrder> etiketini kullanır<.
Örneğin, \CSharp\Windows\Windows.vstdir dosyası şu etiketi içerir:
<SortOrder>5</SortOrder>
\CSharp\Database\TemplateIndex.vstdir dosyasında daha büyük bir değere sahip bir etiket vardır:
<SortOrder>5000</SortOrder>
SortOrder etiketindeki <sayı ne kadar düşükse, ağaçtaki konum o kadar yüksektir, dolayısıyla Windows düğümü Proje türleri ağacındaki Veritabanı düğümünden daha yüksek görünür.>
<Bir proje türü için SortOrder etiketi belirtilmezse, SortOrder>> belirtimlerini içeren <proje türlerinin ardından alfabetik sırada görünür.
Belgelerim (Şablonlarım) klasörlerinde .vstdir dosyası olmadığını unutmayın. Kullanıcı uygulaması proje türü adları yerelleştirilmemiştir ve alfabetik sırada görünür.
Hızlı bir gözden geçirme
Şimdi Yeni Proje iletişim kutusunu değiştirelim ve yeni bir kullanıcı projesi şablonu oluşturalım.
\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp klasörüne bir MyProjectNode alt klasörü ekleyin.
Herhangi bir metin düzenleyicisini kullanarak MyProjectNode klasöründe bir MyProject.vstdir dosyası oluşturun.
Bu satırları .vstdir dosyasına ekleyin:
<TemplateDir Version="1.0.0"> <SortOrder>6</SortOrder> </TemplateDir>
.vstdir dosyasını kaydedin ve kapatın.
Herhangi bir metin düzenleyicisini kullanarak MyProjectNode klasöründe bir MyProject.vstemplate dosyası oluşturun.
.vstemplate dosyasına şu satırları ekleyin:
<VSTemplate Version="2.0.0" Type="Project" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> <TemplateData> <ProjectType>CSharp</ProjectType> </TemplateData> </VSTemplate>
.vstemplate dosyasını kaydedin ve düzenleyiciyi kapatın.
.vstemplate dosyasını yeni bir sıkıştırılmış MyProjectNode\MyProject.zip klasörüne gönderin.
Visual Studio komut penceresinde şunu yazın:
devenv /installvstemplates
Visual Studio'yu açın.
Yeni Proje iletişim kutusunu açın ve Visual C# proje düğümünü genişletin.
MyProjectNode , Windows düğümünün hemen altında Visual C# öğesinin alt düğümü olarak görünür.