25 Stimmen

Versionsnummer einer DLL in .NET

Angesichts des Folgenden:

string file = @"c:\somepath\somefile.dll";

Wie kann ich die Datei- und Produktversionsnummern dieser DLL mithilfe von .NET finden?

Die DLL kann entweder nativ oder verwaltet sein.

Danke.

38voto

Lars Truijens Punkte 41774

Ja, mit System.Diagnostics.FileVersionInfo verwenden.

string fileVersion = FileVersionInfo.GetVersionInfo(file).FileVersion;
string productVersion = FileVersionInfo.GetVersionInfo(file).ProductVersion;

Bitte beachten Sie, dass die Dateiversion einer Assembly von ihrer Assembly-Version abweichen könnte. Die Assembly-Version ist ein Teil der Identität der Assembly.

4voto

EricSchaefer Punkte 23715

Ich kenne mich nicht mit nativen DLLs aus, aber mit verwalteten DLLs funktioniert es so:

System.Reflection.Assembly.LoadFile(datei).GetName().Version

EDIT: Ich glaube, du kannst die Versionsinformationen in C mit GetFileVersionInfo() lesen...

4voto

Ryan Alford Punkte 7344
 FileVersionInfo fi = FileVersionInfo.GetVersionInfo(path);
 string fileVersion = fi.FileVersion;

In Windows sind die "Dateiversion" und die "Produktversion" gleich (oder zumindest für eine verwaltete .dll).

1voto

Es gibt drei Versionsnummern in einer Assembly. Informationen darüber, welche Werte sie annehmen, wer sie verwendet und wie man sie liest, finden Sie unter http://all-things-pure.blogspot.com/2009/09/assembly-version-file-version-product.html.

0voto

Justin Punkte 82143

Wenn Sie die Dateiversioninformationen möchten, verwenden Sie die Klasse FileVersionInfo (FileVersionInfo-Dokumentation)

Wenn Sie die Assembly-Version möchten, müssen Sie diese Assembly mit Reflektion laden. Es gibt ein Beispiel dafür auf Codeplex

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X