Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dateiversionsinformationen vs. Assemblyversionsinformation

2 views
Skip to first unread message

Stefan Gentzmer

unread,
Jan 27, 2003, 3:35:14 AM1/27/03
to
Hallo,

ich bin über folgende Funktionen gestolpert:
- System.Diagnostics.FileVersionInfo.GetVersionInfo
- System.IO.FileInfo
- AssemblyName.GetAssemblyName().Version
- (wahrscheinlich gibts noch mehr)

Kann mir jemand sagen, wo die Unterschiede sind
und was man wofür benutzen sollte.

Ich nehme mal an, das man als Dateiversionsvergleich
von z.B. Win32-DLLs, .Net-DLLs und .Net-EXEn
am besten System.Diagnostics.FileVersionInfo.GetVersionInfo
nutzt, oder kommen da andere Funktionen zu anderen Ergebnissen.


Herfried K. Wagner

unread,
Jan 27, 2003, 3:44:47 AM1/27/03
to
Hallo Stefan!

"Stefan Gentzmer" <Deve...@gentzmer.de> schrieb:
> - System.Diagnostics.FileVersionInfo.GetVersionInfo

Ermittelt die Versionsinformationen zu einer physikalischen Datei,
beispielsweise EXE-Datei.

> - System.IO.FileInfo

Hiermit kann man nicht die Version einer Datei (EXE etc.) ermitteln.

> - AssemblyName.GetAssemblyName().Version

Ermittelt die Version der "aktuellen" Assembly.

> Ich nehme mal an, das man als Dateiversionsvergleich
> von z.B. Win32-DLLs, .Net-DLLs und .Net-EXEn
> am besten System.Diagnostics.FileVersionInfo.GetVersionInfo

Würde ich auch meinen.

Grüsse,
Herfried K. Wagner


Michael Willers

unread,
Jan 28, 2003, 3:55:07 AM1/28/03
to
"Stefan Gentzmer" <Deve...@gentzmer.de> wrote
> [...]ich bin über folgende Funktionen gestolpert:

> - System.Diagnostics.FileVersionInfo.GetVersionInfo
> - System.IO.FileInfo
> - AssemblyName.GetAssemblyName().Version
> - (wahrscheinlich gibts noch mehr)
>
> Kann mir jemand sagen, wo die Unterschiede sind
> und was man wofür benutzen sollte[...]

Moin Stefan

Die .NET Compiler erzeugen beim Erstellen eines Assemblies automatisch die
klassische Win32-Versionsresource. Dabei tragen Sie als Productversion und
Fileversion die im Attribut AssemblyVersion angegebene Versionsnummer ein.

Diese klassische Versionsresource kann mit der Funktion
System.Diagnostics.FileVersionInfo.GetVersionInfo ausgelesen werden und
liefert die Ergebnisse als FileVersionInfo zurück. Über FileVersionInfo
kommt man dann an die einzelnen Einträge wie Produktnummer, Fileversion,
usw. ran. Diese Versionsresource hat jedoch nichts mit der Versionierung der
CLR zu tun.

Maßgeblich für die Versionierungsmechnismen der CLR ist die im Manifest des
Assemblies eingetragenen Versionsnummer.
Sie kann mit dem Aufruf AssemblyName.GetAssemblyName().Version ermittelt
werden.

Hope that helps
Michael Willers

--
www.devcoach.de


0 new messages