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.
Ö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
- Ö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
olaraktrue
ayarlarsaDeterministic
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 |
Ö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) |