如何从文件path中获取.exe文件的版本号

我试图得到我的c:驱动器上的exe文件的版本号。 例如,path是:c:\ Program \ demo.exe,如果demo.exe的版本号是1.0,我怎样才能使用这个path来获取版本号。 我正在使用C#中的.Net 3.5 / 4.0代码。

您可以使用FileVersionInfo.ProductVersion从path中获取。

var versionInfo = FileVersionInfo.GetVersionInfo(pathToExe); string version = versionInfo.ProductVersion; // Will typically return "1.0.0" in your case 

如前所述使用FileVersionInfo.GetVersionInfo()。 但区分产品版本和文件版本。 通常,文件版本应该用于比较单个文件的版本正确性,例如用于部署或构build目的。

获取两个版本的示例:

 var versInfo= FileVersionInfo.GetVersionInfo(pathToVersionedFile); String fileVersion = versInfo.FileVersion; String productVersion = versInfo.ProductVersion; //example for own display version string, built of the four version parts: String myVers= String.Format("V{0}.{1}.{2} build {3}", versInfo.FileMajorPart, versInfo.FileMinorPart, versInfo.FileBuildPart, versInfo.FilePrivatePart); 

在接受的答案中提到“pathToExe”。 这个path可以被检索和使用,如下所示:

 var assembly = Assembly.GetExecutingAssembly(); var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); var version = fvi.FileVersion // or fvi.ProductVersion 

希望这可以帮助人们避免一些额外的步骤。

Program是你的课程名称:

 Console.WriteLine("Version = " + typeof(Program).Assembly.GetName().Version.ToString()) ; 

我不知道这是你在找什么,但是:

http://www.daniweb.com/software-development/csharp/threads/276174/c-code-to-get-dll-version

它说

 int i; // Get the file version for the notepad. FileVersionInfo.GetVersionInfo(Path.Combine(Environment.SystemDirectory, "notepad.exe")); FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(Environment.SystemDirectory + "\\notepad.exe"); // Print the file name and version number. Console.WriteLine("File: " + myFileVersionInfo.FileDescription + '\n' + "Version number: " + myFileVersionInfo.FileVersion); 

使用,它的工作:

 using System.Reflection; string v = AssemblyName.GetAssemblyName("Path/filename.exe").Version.ToString(); 
 //Example your file version is 1.0.0.0 //Solution 1 Dim fileVer As FileVersionInfo = FileVersionInfo.GetVersionInfo(Environment.CurrentDirectory + "\yourExe.exe") yourLabel.Text = fileVer.FileVersion //Solution 2 //Get File Version Number yourLabel.Text = Application.ProductVersion //Both solution will get output 1.0.0.0