AssemblyVersionAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Özniteliklendirilmekte olan derlemenin sürümünü belirtir.
public ref class AssemblyVersionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
public sealed class AssemblyVersionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)]
public sealed class AssemblyVersionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AssemblyVersionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
type AssemblyVersionAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)>]
type AssemblyVersionAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AssemblyVersionAttribute = class
inherit Attribute
Public NotInheritable Class AssemblyVersionAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, derlemeye AssemblyVersionAttribute sürüm numarası atamak için özniteliğini kullanır. Derleme zamanında, bu sürüm bilgileri derlemenin meta verileriyle birlikte depolanır. Çalışma zamanında, örnek, yürütme derlemesine Type.Assembly başvuru almak için derlemede bulunan bir türdeki özelliğinin değerini alır ve yöntemi tarafından Assembly.GetName döndürülen nesnenin özelliğinden Version derlemenin AssemblyName sürüm bilgilerini alır.
using System;
using System.Reflection;
[assembly:AssemblyVersionAttribute("2.0.1")]
public class Example1
{
public static void Main()
{
Assembly thisAssem = typeof(Example1).Assembly;
AssemblyName thisAssemName = thisAssem.GetName();
Version ver = thisAssemName.Version;
Console.WriteLine("This is version {0} of {1}.", ver, thisAssemName.Name);
}
}
// The example displays the following output:
// This is version 2.0.1.0 of Example1.
Imports System.Reflection
<Assembly:AssemblyVersionAttribute("2.0.1")>
Module Example1
Public Sub Main()
Dim thisAssem As Assembly = GetType(Example1).Assembly
Dim thisAssemName As AssemblyName = thisAssem.GetName()
Dim ver As Version = thisAssemName.Version
Console.WriteLine("This is version {0} of {1}.", ver, thisAssemName.Name)
End Sub
End Module
' The example displays the following output:
' This is version 2.0.1.0 of Example1.
Açıklamalar
AssemblyVersionAttribute özniteliği, bir derlemeye sürüm numarası atamak için kullanılır. Bu sürüm numarası daha sonra derlemenin meta verileriyle birlikte depolanır.
Derleme sürüm numarası, derleme kimliğinin bir parçasıdır ve derlemeye ve sürüm ilkesine bağlamada önemli bir rol oynar. Çalışma zamanı için varsayılan sürüm ilkesi, yapılandırma dosyalarındaki (uygulama yapılandırma dosyası, yayımcı ilkesi dosyası ve bilgisayarın yönetici yapılandırma dosyası) açık sürüm ilkesi tarafından geçersiz kılınmadığı sürece, uygulamaların yalnızca oluşturuldukları ve test edildikleri sürümlerle çalıştırılmasıdır. Daha fazla bilgi için bkz. .NET'te derlemeler .
Uyarı
Sürüm denetimi yalnızca tanımlayıcı adlandırılmış derlemelerle gerçekleşir.
Sürüm numarası aşağıdaki gibi dört bölümden oluşur:
<ana sürüm>.<ikincil sürüm>.<derleme numarası>.<revizyon>
Önemli
Sürümün tüm bileşenleri 0'dan büyük veya buna eşit tamsayılar olmalıdır. Meta veriler, bir derlemenin ana, ikincil, derleme ve düzeltme bileşenlerini en yüksek - 1 değeriyle UInt16.MaxValue kısıtlar. Bir bileşen bu değeri aşarsa bir derleme hatası oluşur.
Örneğin, ana sürüm olarak 2, [assembly:AssemblyVersion("2.3.25.1")] ikincil sürüm olarak 3, derleme numarası olarak 25 ve düzeltme numarası olarak 1'i gösterir.
özniteliği, AssemblyVersionAttribute derleme veya düzeltme numarası yerine yıldız işareti (*) belirtmenize olanak tanır. Gibi [assembly:AssemblyVersion("1.2.*")] bir sürüm numarası, ana sürüm olarak 1, ikincil sürüm olarak 2'yi belirtir ve varsayılan derleme ve düzeltme numaralarını kabul eder. Gibi [assembly:AssemblyVersion("1.2.15.*")] bir sürüm numarası ana sürüm olarak 1, ikincil sürüm olarak 2 ve derleme numarası olarak 15'i belirtir ve varsayılan düzeltme numarasını kabul eder. Varsayılan derleme sayısı günlük olarak artar. Varsayılan düzeltme numarası, yerel saat gece yarısından bu yana (gün ışığından yararlanma saati için saat dilimi ayarlamaları dikkate alınmadan) saniye sayısıdır ve 2'ye bölünür. Derleme numarası için yıldız işareti belirtirseniz, düzeltme numarası belirtemezsiniz.
Önemli
AssemblyVersionAttribute Yıldız işareti belirten özniteliğin kullanımı:
- Derleme çıkışlarını yeniden üretilemez hale getirir (bkz. Yeniden üretilebilir derlemeler). Proje derleme özelliğini bir hata
CS8357olaraktrueayarlarsaDeterministicderleyici tarafından bildirilir. - Derlemenin derleyici çıkışlarını önbelleğe almasını engellediğinden derleme performansını düşürebilir.
- Düzenle ve Devam Et ve Sık Erişimli Yeniden Yükleme özellikleriyle uyumlu değildir.
Zaman tabanlı sürümlerin kullanımını koşullu derleme kullanarak derlemeleri yayınlayarak sınırlayarak bu sorunlardan bazılarını azaltabilirsiniz, örneğin:
#if DEBUG
[assembly: AssemblyVersion("1.0.0.0")]
#else
[assembly: AssemblyVersion("1.0.*")]
#endif
Sürüm oluşturma için daha iyi bir yaklaşım, derlemeyi veya dosya sürümünü işleme SHA'sından HEAD türetmektir (git depoları için). Bkz. Örneğin, Nerdbank.GitVersioning.
Derleme dışarı aktarıldığında, derlemenin birincil ve ikincil sürümleri tür kitaplığı sürüm numarası olarak kullanılır. Bazı COM konakları, sürüm numarası 0.0 olan tür kitaplıklarını kabul etmediğinden. Bu nedenle, bir derlemeyi COM istemcilerine göstermek istiyorsanız, Visual Studio 2005 AssemblyVersionAttribute dışında oluşturulan ve belirtilmemiş AssemblyVersionAttribute projeler için derleme sürümünü açıkça sayfada 1.0 olarak ayarlayın. Derleme sürümü 0.0 olduğunda bile bunu yapın. Visual Studio 2005'te oluşturulan tüm projelerin varsayılan derleme sürümü 1.0.*'dır.
Yüklediğiniz derlemenin adını almak için derlemeyi çağırarak GetName alın AssemblyNameve ardından özelliğini alın Version . Yüklemediğiniz bir derlemenin adını almak için istemci uygulamanızdan çağırarak GetAssemblyName uygulamanızın kullandığı derleme sürümünü denetleyin.
AssemblyVersionAttribute Özniteliği yalnızca bir kez uygulanabilir. Bazı Visual Studio proje şablonları zaten özniteliğini içerir. Bu projelerde, özniteliği koda eklemek derleyici hatasına neden olur.
Oluşturucular
| Name | Description |
|---|---|
| AssemblyVersionAttribute(String) |
Öznitelikli derlemenin |
Özellikler
| Name | Description |
|---|---|
| TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
| Version |
Öznitelikli derlemenin sürüm numarasını alır. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
| Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |