Kodda derleme özniteliklerini ayarlama

Derleme öznitelikleri, bir derleme hakkında bilgi sağlayan değerlerdir. Bunlar genellikle bir AssemblyInfo.cs dosyasında ayarlanır. Öznitelikler aşağıdaki bilgi kümelerine ayrılır:

  • Derleme kimliği öznitelikleri
  • Bilgi öznitelikleri
  • Derleme bildirimi öznitelikleri
  • Tanımlayıcı ad öznitelikleri

Bu makalenin kapsamı koddan derleme öznitelikleri eklemeye yöneliktir. Projelere derleme öznitelikleri ekleme (kodda değil) hakkında bilgi için bkz . Proje dosyasında derleme özniteliklerini ayarlama.

Derleme kimliği öznitelikleri

Üç öznitelik, tanımlayıcı bir adla birlikte (varsa) bir derlemenin kimliğini belirler: ad, sürüm ve kültür. Bu öznitelikler derlemenin tam adını oluşturur ve kodda derlemeye başvururken gereklidir. Bir derlemenin sürümünü ve kültürünü ayarlamak için öznitelikleri kullanabilirsiniz. Derleyici veya Derleme Bağlayıcısı (Al.exe) derleme oluşturulduğunda, derleme bildirimini içeren dosyaya göre ad değerini ayarlar.

Aşağıdaki tabloda sürüm ve kültür öznitelikleri açıklanmaktadır.

Derleme kimliği özniteliği Açıklama
AssemblyCultureAttribute Derlemenin desteklediği kültürü gösteren numaralandırılmış alan. Bir derleme, varsayılan kültürün kaynaklarını içerdiğini belirten kültür bağımsızlığını da belirtebilir. Not: Çalışma zamanı, kültür özniteliği null olarak ayarlı olmayan tüm derlemeleri uydu derlemesi olarak kabul eder. Bu tür derlemeler uydu derleme bağlama kurallarına tabidir. Daha fazla bilgi için bkz . Çalışma zamanı derlemeleri nasıl bulur?
AssemblyFlagsAttribute Derlemenin yan yana çalıştırılıp çalıştırılamayacağı gibi derleme özniteliklerini ayarlayan değer.
AssemblyVersionAttribute Birincil biçimdeki sayısal değer.küçük.derleme.düzeltme (örneğin, 2.4.0.0). Ortak dil çalışma zamanı, tanımlayıcı adlandırılmış derlemelerde bağlama işlemleri gerçekleştirmek için bu değeri kullanır. Not: Öznitelik bir derlemeye uygulanmazsaAssemblyInformationalVersionAttribute, özniteliği tarafından AssemblyVersionAttribute belirtilen sürüm numarası , Application.UserAppDataPathve Application.UserAppDataRegistry özellikleri tarafından Application.ProductVersionkullanılır.

Aşağıdaki kod örneği, sürüm ve kültür özniteliklerinin bir derlemeye nasıl uygulanacağını gösterir.

// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")];
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")];
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")]
' Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
' Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>

Bilgi öznitelikleri

Bir derleme için ek şirket veya ürün bilgileri sağlamak için bilgi özniteliklerini kullanabilirsiniz. Aşağıdaki tabloda, bir derlemeye uygulayabileceğiniz bilgi öznitelikleri açıklanmaktadır.

Bilgilendirme özniteliği Açıklama
AssemblyCompanyAttribute Şirket adını belirten dize değeri.
AssemblyCopyrightAttribute Telif hakkı bilgilerini belirten dize değeri.
AssemblyFileVersionAttribute Win32 dosya sürüm numarasını belirten dize değeri. Bu normalde derleme sürümünü varsayılan olarak kullanır.
AssemblyInformationalVersionAttribute Tam ürün sürüm numarası gibi ortak dil çalışma zamanı tarafından kullanılmayan sürüm bilgilerini belirten dize değeri. Not: Bu öznitelik bir derlemeye uygulanırsa, belirttiği dize çalışma zamanında özelliği kullanılarak Application.ProductVersion elde edilebilir. Dize, ve Application.UserAppDataRegistry özellikleri tarafından sağlanan yol ve kayıt defteri anahtarında Application.UserAppDataPath da kullanılır.
AssemblyProductAttribute Ürün bilgilerini belirten dize değeri.
AssemblyTrademarkAttribute Ticari marka bilgilerini belirten dize değeri.

Bu öznitelikler derlemenin Windows Özellikleri sayfasında görünebilir veya Win32 kaynak dosyanızı belirtmek için /win32res derleyici seçeneği kullanılarak geçersiz kılınabilir.

Derleme bildirimi öznitelikleri

Derleme bildirimi özniteliklerini kullanarak derleme bildiriminde başlık, açıklama, varsayılan diğer ad ve yapılandırma gibi bilgileri sağlayabilirsiniz. Aşağıdaki tabloda derleme bildirimi öznitelikleri açıklanmaktadır.

Derleme bildirimi özniteliği Açıklama
AssemblyConfigurationAttribute Perakende veya Hata Ayıklama gibi derlemenin yapılandırmasını gösteren dize değeri. Çalışma zamanı bu değeri kullanmaz.
AssemblyDefaultAliasAttribute Derlemelere başvurarak kullanılacak varsayılan diğer adı belirten dize değeri. Derlemenin adı kolay olmadığında (GUID değeri gibi) bu değer kolay bir ad sağlar. Bu değer, tam derleme adının kısa bir biçimi olarak da kullanılabilir.
AssemblyDescriptionAttribute Derlemenin doğasını ve amacını özetleyen kısa bir açıklama belirten dize değeri.
AssemblyTitleAttribute Derleme için kolay bir ad belirten dize değeri. Örneğin, comdlg adlı bir derlemenin Başlığı Microsoft Ortak İletişim Kutusu Denetimi olabilir.

Tanımlayıcı ad öznitelikleri

Bir derleme için tanımlayıcı ad ayarlamak için tanımlayıcı ad özniteliklerini kullanabilirsiniz. Aşağıdaki tabloda tanımlayıcı ad öznitelikleri açıklanmaktadır.

Tanımlayıcı ad özniteliği Açıklama
AssemblyDelaySignAttribute gecikmeli imzalamanın kullanıldığını gösteren Boole değeri.
AssemblyKeyFileAttribute Ortak anahtarı (gecikmeli imzalama kullanılıyorsa) veya bu özniteliğin oluşturucusunun parametresi olarak geçirilen ortak ve özel anahtarları içeren dosyanın adını gösteren dize değeri. Dosya adının kaynak dosya yoluna değil çıkış dosyası yoluna ( .exe veya .dll) göre olduğunu unutmayın.
AssemblyKeyNameAttribute Bu özniteliğin oluşturucusunun parametresi olarak geçirilen anahtar çiftini içeren anahtar kapsayıcısını gösterir.

Aşağıdaki kod örneği, myKey.snk adlı ortak anahtar dosyasıyla tanımlayıcı adlandırılmış bir derleme oluşturmak için gecikmeli imzalama kullanılırken uygulanacak öznitelikleri gösterir.

[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>

Ayrıca bkz.