Frage (319) zu VB(8).NET (VS 2005), VB(9).NET (VS 2008), VB(10).NET (VS 2010):
Wie kann man die Version einer Assembly bestimmen?
Antwort:
Wenn man application.Productversion abfragt, dann kommt immer die Version, die in der Asselbyinformation unter Dateiversion angegeben wurde, nicht aber die Version, die als Veröffentlichungsversion automatisch hochgezählt wird.
Application.ProductVersion verwendet nacheinander die folgenden Attribute:
- AssemblyInformationalVersion - nicht im Eigenschaftsdialog einzustellen.
- AssemblyFileVersion (File Version im Eigenschaftsdialog)
- AssemblyVersion
AssemblyInformationVersion kann man in der Assembly.vb eintragen., z. B.:
<Assembly: AssemblyInformationalVersion("1.0.3.0")>
Das automatische Hochzählen funktioniert nur für AssemblyVersion. Wovon abzuraten ist, da es bei DLLs und anderen Abhängigkeiten schnell zum Durcheinander kommt, insbesondere wenn die Assemblies (später) signiert werden oder gar in den GAC installiert werden.
Direkt kann man auf Assembly.Version zugreifen:
[vb]
Public Shared ReadOnly Property AssemblyVersion() As String
Get
Dim runAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetEntryAssembly()
If (runAssembly IsNot Nothing) Then
Dim runAssemblyName As System.Reflection.AssemblyName = runAssembly.GetName(True)
If (runAssemblyName IsNot Nothing) Then
Return runAssemblyName.Version.ToString()
End If
End If
Return String.Empty
End Get
End Property
[/vb]
Wenn es um die ClickOnce Version geht, die erhält man die Version so:
[vb]
Public Shared ReadOnly Property ClickOnceVersion() As String
Get
Try
Dim application As System.Deployment.Application.ApplicationDeployment = System.Deployment.Application.ApplicationDeployment.CurrentDeployment
If (application IsNot Nothing) Then
Return application.CurrentVersion.ToString()
End If
Catch ex As System.Deployment.Application.InvalidDeploymentException
' Wenn nicht via ClickOnce Fallback auf die Assembly Version
Return AssemblyVersion
End Try
Return String.Empty
End Get
End Property
[/vb]
Stand des Beitrages: 03.06.10 10:16, zuletzt geändert: 01.06.10 21:56
Die hier dargestellten Tipps und Tricks sind das Ergebnis selbst ersteller Lösungsvarianten,
die für Projekte und Schulungen erarbeitet wurden.