AssemblyVersionAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A hozzárendelt szerelvény verzióját adja meg.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példa az AssemblyVersionAttribute attribútummal rendel egy verziószámot egy szerelvényhez. Fordításkor a rendszer ezeket a verzióinformációkat a szerelvény metaadataival tárolja. Futtatáskor a példa lekéri a Type.Assembly tulajdonság értékét a szerelvényben található típuson, hogy hivatkozzon a végrehajtó szerelvényre, és lekéri a szerelvény verzióadatait a VersionAssemblyName metódus által Assembly.GetName visszaadott objektum tulajdonságából.
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.
Megjegyzések
Az AssemblyVersionAttribute attribútummal verziószámot rendelhet egy szerelvényhez. Ezt a verziószámot ezután a rendszer a szerelvény metaadataival tárolja.
A szerelvény verziószáma egy szerelvény identitásának része, és kulcsfontosságú szerepet játszik a szerelvényhez való kötésben és a verziószabályzatban. A futtatókörnyezet alapértelmezett verziószabályzata az, hogy az alkalmazások csak azokkal a verziókkal futnak, amelyekkel készültek és tesztelték őket, kivéve, ha a konfigurációs fájlokban (az alkalmazáskonfigurációs fájlban, a közzétevő házirendfájljában és a számítógép rendszergazdai konfigurációs fájljában) felül van bírálva az explicit verzióházirend. További információt a Összeállítások .NET című témakörben talál.
Note
A verzióellenőrzés csak erős nevű összeállításokkal történik.
A verziószám négy részből áll, az alábbiak szerint:
<főverzió>.<alverzió>.<buildszám>.<átvizsgálás>
Important
A verzió minden összetevőjének 0-nál nagyobb vagy egyenlő egész számnak kell lennie. A metaadatok a szerelvény fő, alverziós, build- és változatösszetevőit UInt16.MaxValue legfeljebb 1 értékre korlátozzák. Ha egy összetevő meghaladja ezt az értéket, fordítási hiba történik.
Például [assembly:AssemblyVersion("2.3.25.1")] a 2-t jelöli főverzióként, a 3-at alverzióként, 25-öt buildszámként, 1-et pedig változatszámként.
Az AssemblyVersionAttribute attribútum lehetővé teszi csillag (*) megadását a build vagy a változat száma helyett. Egy verziószám, például [assembly:AssemblyVersion("1.2.*")] az 1 főverziót, a 2-et pedig alverzióként adja meg, és elfogadja az alapértelmezett build- és változatszámokat. Egy verziószám, például [assembly:AssemblyVersion("1.2.15.*")] 1 főverziót, 2-t alverzióként, 15-öt pedig buildszámként ad meg, és elfogadja az alapértelmezett változatszámot. Az alapértelmezett buildszám naponta növekszik. Az alapértelmezett változatszám a helyi idő szerinti éjfél óta eltelt másodpercek száma (a nyári időszámítás időzónájának módosítása nélkül), osztva 2-vel. Ha csillagot ad meg a buildszámhoz, nem adhat meg változatszámot.
Important
AssemblyVersionAttribute Csillagot meghatározó attribútum használata:
- A buildkimenetek nem reprodukálhatóvá teszik (lásd : Reprodukálható buildek). Ha a projekt a buildtulajdonságot hibaként
CS8357trueállítja beDeterministic, a fordító jelenti. - Csökkentheti a buildelési teljesítményt, mivel megakadályozza, hogy a build gyorsítótárazza a fordító kimeneteit.
- Nem kompatibilis a Szerkesztés és Folytatás és Hot Reload funkciók.
Néhány ilyen probléma megoldásához korlátozza az időalapú verziók használatát a buildek feltételes fordítással való kiadására, például:
#if DEBUG
[assembly: AssemblyVersion("1.0.0.0")]
#else
[assembly: AssemblyVersion("1.0.*")]
#endif
A verziószámozás jobb módszere, ha a véglegesítési SHA-ból (Git-adattárakhoz) származtatjuk a szerelvényt vagy a HEAD fájlverziót. Lásd például a Nerdbank.GitVersioninget.
A rendszer a szerelvény fő- és alverzióit használja a típustár verziószámaként a szerelvény exportálásakor. Egyes COM-gazdagépek nem fogadnak el 0.0-s verziószámú típustárakat. Ezért, ha szerelvényt szeretne elérhetővé tenni a COM-ügyfelek számára, állítsa a szerelvény verzióját kifejezetten 1.0-ra a AssemblyVersionAttribute lapon a 2005-ös Visual Studio kívül létrehozott projektekhez, és nincs megadva AssemblyVersionAttribute. Ezt akkor is megteheti, ha a szerelvény verziója 0.0. A Visual Studio 2005-ben létrehozott összes projekt alapértelmezett szerelvényverziója 1.0.*.
A betöltött szerelvény nevének lekéréséhez kérje meg GetName a szerelvényt, hogy szerezzen be egy AssemblyNameelemet, majd szerezze be a tulajdonságot Version . A nem betöltött szerelvény nevének lekéréséhez hívja meg GetAssemblyName az ügyfélalkalmazást, hogy ellenőrizze az alkalmazás által használt szerelvényverziót.
Az AssemblyVersionAttribute attribútum csak egyszer alkalmazható. Egyes Visual Studio projektsablonok már tartalmazzák az attribútumot. Ezekben a projektekben az attribútum kódban való hozzáadása fordítóhibát okoz.
Konstruktorok
| Name | Description |
|---|---|
| AssemblyVersionAttribute(String) |
Inicializálja az |
Tulajdonságok
| Name | Description |
|---|---|
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
| Version |
Lekéri az attribútumként megadott szerelvény verziószámát. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |