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.
Visual Studio tümleşik geliştirme ortamındaki (IDE) Özellikler penceresi proje ve yapılandırma özelliklerini görüntüleyebilir. Kullanıcının uygulamanızın özelliklerini ayarlayabilmesi için kendi proje türünüz için bir özellik sayfası sağlayabilirsiniz.
Çözüm Gezgini'da bir proje düğümü seçip Proje menüsünde Özellikler'e tıklayarak, proje ve yapılandırma özelliklerini içeren bir iletişim kutusu açabilirsiniz. Visual C# ve Visual Basic'te ve bu dillerden türetilen proje türlerinde, bu iletişim kutusu Genel, Ortam, Seçenekler İletişim Kutusu'nda sekmeli sayfa olarak görüntülenir. Daha fazla bilgi için bkz . Derlemede Değil: İzlenecek Yol: Proje ve Yapılandırma Özelliklerini Ortaya Çıkarma (C#).
Projeler için Yönetilen Paket Çerçevesi (MPFProj), yeni proje sistemi oluşturmak ve yönetmek için yardımcı sınıflar sağlar. Kaynak kodu ve derleme yönergelerini Projeler için MPF - Visual Studio 2013'te bulabilirsiniz.
Proje ve Yapılandırma Özelliklerinin Kalıcılığı
Proje ve yapılandırma özellikleri, proje türüyle ilişkilendirilmiş herhangi bir dosya adı uzantısına sahip olan bir proje dosyasında kalıcıdır; örneğin, .csproj, .vbproj ve .myproj. Dil projeleri genellikle proje dosyasını oluşturmak için bir şablon dosyası kullanır. Ancak, proje türlerini ve şablonlarını ilişkilendirmenin birkaç yolu vardır. Daha fazla bilgi için bkz . Şablon Dizin Açıklaması (. Vsdir) Dosyaları.
Proje ve yapılandırma özellikleri, şablon dosyasına öğe eklenerek oluşturulur. Bu özellikler daha sonra bu şablonu kullanan proje türü kullanılarak oluşturulan tüm projelerde kullanılabilir. Visual C# projeleri ve MPFProj'un her ikisi de şablon dosyaları için Derlemede Değil: MSBuild'e Genel Bakış şemasını kullanır. Bu dosyaların her yapılandırma için bir PropertyGroup bölümü vardır. Projelerin özellikleri genellikle yapılandırma bağımsız değişkeni null dize olarak ayarlanmış olan ilk PropertyGroup bölümünde kalıcı hale gelir.
Aşağıdaki kod, temel bir MSBuild proje dosyasının başlangıcını gösterir.
<Project MSBuildVersion="2.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Name>SomeProjectSix</Name>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<Optimize>true</Optimize>
Bu proje dosyasında <Name>
ve <SchemaVersion>
proje özellikleridir ve <Optimize>
bir yapılandırma özelliğidir.
Proje dosyasının proje ve yapılandırma özelliklerini kalıcı hale getirmek projenin sorumluluğundadır.
Not
Bir proje, yalnızca varsayılan değerlerinden farklı özellik değerlerini kalıcı hale getirerek kalıcılığı iyileştirebilir.
Proje ve Yapılandırma Özellikleri için Destek
sınıfı proje Microsoft.VisualStudio.Package.SettingsPage
ve yapılandırma özellik sayfalarını uygular. varsayılan uygulaması SettingsPage
, genel özellik kılavuzundaki bir kullanıcıya genel özellikler sunar. yöntemi, Microsoft.VisualStudio.Package.HierarchyNode.GetPropertyPageGuids
proje özelliği kılavuzları için'den SettingsPage
türetilen sınıfları seçer. yöntemi, Microsoft.VisualStudio.Package.ProjectNode.GetConfigPropertyPageGuids
yapılandırma özelliği kılavuzları için türetilen SettingsPage
sınıfları seçer. Proje türünüz uygun özellik sayfalarını seçmek için bu yöntemleri geçersiz kılmalıdır.
SettingsPage
sınıfı ve Microsoft.VisualStudio.Package.ProjectNode
sınıfı, proje ve yapılandırma özelliklerini kalıcı hale getirmek için şu yöntemleri sunar:
Microsoft.VisualStudio.Package.ProjectNode.GetProjectProperty
veMicrosoft.VisualStudio.Package.ProjectNode.SetProjectProperty
proje özelliklerini kalıcı hale.Microsoft.VisualStudio.Package.SettingsPage.GetConfigProperty
veMicrosoft.VisualStudio.Package.SettingsPage.SetConfigProperty
yapılandırma özelliklerini kalıcı hale.Not
ve
Microsoft.VisualStudio.Package.ProjectNode
sınıflarınınMicrosoft.VisualStudio.Package.SettingsPage
uygulamaları, proje dosyasındanMicrosoft.Build.BuildEngine
proje ve yapılandırma özelliklerini almak ve ayarlamak için (MSBuild) yöntemlerini kullanır.Türetdiğiniz
SettingsPage
sınıfın proje dosyasının proje veya yapılandırma özelliklerini kalıcı hale getirmek için veMicrosoft.VisualStudio.Package.SettingsPage.BindProperties
uygulamasıMicrosoft.VisualStudio.Package.SettingsPage.ApplyChanges
gerekir.
ProvideObjectAttribute ve Kayıt Defteri Yolu
türetilen SettingsPage
sınıflar VSPackage'lar arasında paylaşılacak şekilde tasarlanmıştır. VSPackage'ın öğesinden türetilmiş bir sınıf oluşturmasını mümkün kılmak için, öğesinden SettingsPage
Microsoft.VisualStudio.Shell.Package
türetilen bir sınıfa a Microsoft.VisualStudio.Shell.ProvideObjectAttribute
ekleyin.
[ProvideObject(typeof(MyProjectPropertyPage))]
[Guid("e815d8ad-49bf-427d-99c8-009db3e56ab9")]
public sealed class MyPackage : Package
Özniteliğin eklendiği VSPackage önemli değildir. Bir VSPackage Visual Studio'ya kaydedildiğinde, oluşturulabilecek herhangi bir nesnenin sınıf kimliği (CLSID), çağrısının onu oluşturabilmesi için CreateInstance kaydedilir.
Oluşturulabilen bir nesnenin kayıt defteri yolu, sözcüğü, CLSID ve nesne türünün guid değeri birleştirilerek UserRegistryRootbelirlenir. Sınıfın guid değeri {3c693da2-5bca-49b3-bd95-ffe0a39dd723} ise MyProjectPropertyPage
ve UserRegistryRoot HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0Exp ise, ardından kayıt defteri yolu HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0Exp\CLSID\{3c693da2-5bca-49b3-bd95-ffe0a39dd723} olur.
Proje ve Yapılandırma Özelliği Öznitelikleri ve Düzeni
CategoryAttribute, DisplayNameAttributeve DescriptionAttribute öznitelikleri, genel özellik sayfasındaki proje ve yapılandırma özelliklerinin düzenini, etiketlemesini ve açıklamasını belirler. Bu öznitelikler sırasıyla kategoriyi, görünen adı ve seçeneğin açıklamasını belirler.
Not
Eşdeğer öznitelikler, SRCategory, LocDisplayName ve SRDescription, yerelleştirme için dize kaynaklarını kullanır ve Projeler için MPF - Visual Studio 2013'te tanımlanır.
Aşağıdaki kod parçasını göz önünde bulundurun:
public bool IsDirty { get; set; }
private string myConfigProp;
[Category("My Category")]
[DisplayName("My Config Property")]
[Description("My Description")]
public string MyConfigProp
{
get { return myConfigProp; }
set { myConfigProp = value; IsDirty = true; }
}
MyConfigProp
Yapılandırma özelliği yapılandırma özelliği sayfasında, Kategorim kategorisinde Yapılandırma Özelliğim olarak görünür. Seçenek belirlenirse, açıklama panelinde Açıklamam şeklinde bir açıklama görüntülenir.