我正在尝试使用以下代码获取C# 3.0中的执行程序集版本:
var assemblyFullName = Assembly.GetExecutingAssembly().FullName;
var version = assemblyFullName .Split(',')[1].Split('=')[1];
有没有其他合适的方法呢?
发布于 2011-02-09 12:28:29
有两个选择。无论应用程序类型如何,您都可以调用:
Assembly.GetExecutingAssembly().GetName().Version
如果是Windows Forms应用程序,如果您专门查找产品版本,则始终可以通过应用程序进行访问。
Application.ProductVersion
使用GetExecutingAssembly
进行程序集引用并不总是一种选择。因此,我个人发现在可能需要引用基础程序集或程序集版本的项目中创建静态助手类是很有用的:
// A sample assembly reference class that would exist in the `Core` project.
public static class CoreAssembly
{
public static readonly Assembly Reference = typeof(CoreAssembly).Assembly;
public static readonly Version Version = Reference.GetName().Version;
}
然后,我可以根据需要在我的代码中干净地引用CoreAssembly.Version
。
发布于 2011-02-09 12:30:49
这应该可以做到:
Assembly assem = Assembly.GetExecutingAssembly();
AssemblyName aName = assem.GetName();
return aName.Version.ToString();
发布于 2019-06-07 04:13:31
如果您通过GitVersion或其他版本控制软件使用版本控制,则Product Version
可能是首选。
要从您的类库中获取它,您可以调用System.Diagnostics.FileVersionInfo.ProductVersion
using System.Diagnostics;
using System.Reflection;
//...
var assemblyLocation = Assembly.GetExecutingAssembly().Location;
var productVersion = FileVersionInfo.GetVersionInfo(assemblyLocation).ProductVersion
https://stackoverflow.com/questions/4941288
复制相似问题