反射:汇编获取版本给出错误的版本值
问题描述:
我使用休耕代码来获取Windows GAC文件夹中一组汇编的版本。反射:汇编获取版本给出错误的版本值
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
string productVersion = fvi.ProductVersion;
运行上述代码之后,我mannualy RightClick并获取程序集版本。 productVersion
返回的版本与手动获取的值不同,部分程序集。 任何可能的原因?
答
对于装配对象使用的文件版本:
var assembly = System.Reflection.Assembly.GetExecutingAssembly(); // the current assembly
var version = assembly.GetName().Version.ToString();
+0
这给出了结果15.0.0.0这不是我想要的。我想要的产品版本是15.0.yyyy.1000 – 2012-04-25 09:14:35
+0
幸运的是,这是我想要的:) – JDPeckham 2012-09-22 16:22:45
你检查吗? http://*.com/questions/5460199/fileversioninfo-fileversion-returns-productversion – 2012-04-25 06:56:19
一个差异的例子(预期与实际)将有所帮助... – 2012-04-25 07:02:13
版本返回是15.0.xxxx.10000,但实际版本是15.0 .yyyy.1000。当我安装了它的xxxx版本的应用程序,然后取消安装它,然后安装该应用程序的yyyy版本时,会发生这种情况。安装应用程序的yyyy版本后,所有的dll都应该是yyyy版本。手动检查时确定。但是,这种不匹配发生在编程检查版本时。 – 2012-04-25 08:49:03