Assembly.GetExecutingAssembly() 没有输出正确的文件版本

Assembly.GetExecutingAssembly() not outputting correct file version

我看到 GetExecutingAssembly() 的定义是 returns 包含当前正在执行的代码的程序集。

我的密码是

Assembly.GetExecutingAssembly().GetName().Version

但是,当我运行这个程序时,那一行总是returns版本,即与DLL上的文件版本不同。所以我看到 DLL 的文件版本和产品版本为 7.1,但上面那行总是 returns 7.0

这怎么可能发生?

试试这个,获取文件版本而不是程序集版本

var assembly = System.Reflection.Assembly.GetExecutingAssembly();
var fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
var version = fvi.FileVersion;