Aracılığıyla paylaş


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 özellikleri
  • Bilgi öznitelikleri
  • Assembly manifest ö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 özellikleri

Üç ö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 özelliğ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 konumlandırır?
AssemblyFlagsAttribute Derlemenin yan yana çalıştırılıp çalıştırılamayacağı gibi derleme özniteliklerini ayarlayan değer.
AssemblyVersionAttribute Birincil sürümdeki sayısal değer ana.ikinci.derleme.düzeltme (örneğin, 2.4.0.0). Ortak dil çalışma zamanı, güçlü adlandırılmış derlemelerde bağlama işlemleri gerçekleştirmek için bu değeri kullanır. Not:AssemblyInformationalVersionAttribute özelliği bir derlemeye uygulanmazsa, AssemblyVersionAttribute özelliği tarafından belirtilen sürüm numarası Application.ProductVersion, Application.UserAppDataPath ve Application.UserAppDataRegistry özellikleri tarafından kullanı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 Application.ProductVersion özelliği kullanılarak elde edilebilir. Dize, Application.UserAppDataPath ve Application.UserAppDataRegistry özellikleri tarafından sağlanan yol ve kayıt defteri anahtarında 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.

Assembly manifest ö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 tablo, derleme bildirimi özniteliklerini açıklamaktadır.

Derleme bildirimi özniteliği Açıklama
AssemblyConfigurationAttribute Derlemenin yapılandırmasını, örneğin Perakende veya Hata Ayıklama olarak, gösteren dizi değeri. Çalışma zamanı bu değeri kullanmaz.
AssemblyDefaultAliasAttribute Derlemeler başvurulurken kullanılacak varsayılan takma adı belirten dize değeri. Derlemenin adı kullanıcı dostu olmadığında (GUID değeri gibi) bu değer kullanıcı dostu bir isim 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 Montaj için uyumlu bir isim belirten string 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 güçlü bir ad ayarlamak amacıyla güçlü 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 bakınız