AssemblyVersionAttribute Sınıf

Tanım

Özniteliklendirilen 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
AssemblyVersionAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, bir derlemeye sürüm numarası atamak için özniteliğini kullanır AssemblyVersionAttribute . 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ı bir derlemenin 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 sürüm ilkelerinde açıkça geçersiz kılınmadığı sürece (uygulama yapılandırma dosyası, yayımcı ilke dosyası ve bilgisayar yöneticisinin yapılandırma dosyası) uygulamaların yalnızca yapılandırıldığı ve test edildiği sürümlerle çalışmasıdır. Daha fazla bilgi için bkz. .NET'te derlemeler .

Not

Sürüm denetleme yalnızca tanımlayıcı ada sahip derlemelerde 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 ve 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ı, gece yarısından bu yana yerel saat olan saniye sayısıdır (yaz saati için saat dilimi ayarlamaları dikkate alınmadan), 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 CS8357 olarak true ayarlarsa Deterministic derleyici tarafından bildirilir.
  • Derlemenin derleyici çıkışlarını önbelleğe almasını önlediğinden derleme performansını düşürebilir.
  • Düzenle & Devam Et ve Çalışırken Yeniden Yükleme özellikleriyle uyumlu değildir.

Zaman tabanlı sürümlerin kullanımını koşullu derleme kullanarak yayın derlemeleriyle 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 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ğini koda eklemek derleyici hatasına neden olur.

Oluşturucular

AssemblyVersionAttribute(String)

Özniteliği atfedilen derlemenin AssemblyVersionAttribute sürüm numarasıyla sınıfının yeni bir örneğini başlatır.

Özellikler

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

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini 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 Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_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 sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.