如何在日志中打印正在运行的程序的版本?换句话说,我可以使用Console.WriteLine访问AssemblyFileVersion吗?
谢谢,托尼
发布于 2010-08-04 05:41:35
看起来像这样的东西会起作用:
public static string Version
{
get
{
Assembly asm = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location);
return String.Format("{0}.{1}", fvi.ProductMajorPart, fvi.ProductMinorPart);
}
}发布于 2010-08-04 05:42:14
// Get the version of the current application.
Assembly assem = Assembly.GetExecutingAssembly();
AssemblyName assemName = assem.GetName();
Version ver = assemName.Version;
Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString());有关MSDN的更多信息:
Version Class
发布于 2018-01-15 21:10:05
FileVersionInfo.GetVersionInfo(asm.Location)不适用于embedded程序集(例如,使用Fody's Costura而不是可执行文件及其所有依赖程序集)。在这种情况下,以下是一种备用方法:
var assembly = Assembly.GetExecutingAssembly();
var fileVersionAttribute = assembly.CustomAttributes.FirstOrDefault(ca => ca.AttributeType == typeof(AssemblyFileVersionAttribute));
if (fileVersionAttribute != null && fileVersionAttribute.ConstructorArguments.Any())
return fileVersionAttribute.ConstructorArguments[0].ToString().Replace("\"","");
return string.Empty;https://stackoverflow.com/questions/3400950
复制相似问题