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)>