获取exe文件的版本号问题
string   path   =   @ "D:\Test\folder2\IPMSG.exe ";      
 try 
                         {             
                                     System.Diagnostics.FileVersionInfo   file1   =   System.Diagnostics.FileVersionInfo.GetVersionInfo(path); 
                                     FileVersions   =   file1.FileVersion; 
                         } 
 catch(Exception   e1) 
                         { 
                                     FileVersions   =    " "; 
                         }   
                         MessageBox.Show(FileVersions);   
 IPMSG.exe在属性里查看的版本号为2.0.6.0, 
 运行程序得到的是2.06 
 另外有的exe文件版本号就给完整的,有的就给不完整的,还有的把 ". "替换成了 ", " 
 怎么回事?
------解决方案--------------------http://www.cnblogs.com/zbqy/archive/2007/02/03/638835.aspx 
 看一下这个
------解决方案--------------------string FileVersions =  " "; 
 string path = @ "E:\GoDVB\Latest\Multicast发送端.exe ";   
 try 
 { 
     System.Diagnostics.FileVersionInfo file1 = System.Diagnostics.FileVersionInfo.GetVersionInfo(path); 
     FileVersions = file1.FileVersion; 
 } 
 catch (Exception) 
 { 
     FileVersions =  " "; 
 }   
 MessageBox.Show(FileVersions);   
 // 结果是1.0.6.0,而不是1.06呀? 刚刚试过了。
------解决方案--------------------楼主,你的程序没有问题. 
 之所以出现不一致的情况 
 是因为你没仔细看清IPMSG.exe的版本号 
 在其他版本信息框中版本信息才是真正的版本号,也是程序所能获得版本号.因此是2.06     
 你问为什么会出现2.0.6.0这样的版本.这是为了遵循微软的版本标准,即 
 版本号显示为“主版本号.次版本号.内部版本号.专用部件号”。     
 接分
------解决方案--------------------string FileVersions =  " "; 
 string path = @ "E:\GoDVB\Latest\Multicast发送端.exe ";   
 try 
 { 
     System.Diagnostics.FileVersionInfo file1 = System.Diagnostics.FileVersionInfo.GetVersionInfo(path); 
     FileVersions = String.Format( "{0}.{1}.{2}.{3} ", file1.FileMajorPart, file1.FileMinorPart, file1.FileBuildPart, file1.FilePrivatePart); 
 } 
 catch (Exception) 
 { 
     FileVersions =  " "; 
 }   
 MessageBox.Show(FileVersions);