是否可以通过编程方式从任何.NET动态链接库获取版本号?
如果是,是如何实现的?
发布于 2012-09-21 18:05:35
这里有一个很好的方法,使用一些反射来获得包含特定类的DLL版本:
var ver = System.Reflection.Assembly.GetAssembly(typeof(!Class!)).GetName().Version;
只需替换!Class!使用在要获取其版本的DLL中定义的类的名称。
这是我首选的方法,因为如果我为不同的部署移动DLL,我就不必更改文件路径。
发布于 2009-11-18 19:59:27
为启动的程序集(winform、控制台应用程序等)获取它。
using System.Reflection;
...
Assembly.GetEntryAssembly().GetName().Version
发布于 2019-02-26 17:44:58
@Ben的回答被证明对我很有用。但我需要检查产品版本,因为它是我的软件中发生的主要增量,并遵循语义版本控制。
myFileVersionInfo.ProductVersion
这种方法符合我的期望。
更新:我们可以使用Assembly获取产品版本,而不是在程序中明确提到dll路径(在生产版本中需要)。
Assembly assembly = Assembly.GetExecutingAssembly();
FileVersionInfo fileVersionInfo =FileVersionInfo.GetVersionInfo(assembly.Location);
string ProdVersion= fileVersionInfo.ProductVersion;
https://stackoverflow.com/questions/1755504
复制相似问题