我怎样才能得到正在执行的程序集版本?

我正在尝试使用下面的代码在C#3.0中获得正在执行的程序集版本:

var assemblyFullName = Assembly.GetExecutingAssembly().FullName; var version = assemblyFullName .Split(',')[1].Split('=')[1]; 

还有另外一个适当的方法吗?

两个选项…不pipe你总是可以调用的应用程序types:

 Assembly.GetExecutingAssembly().GetName().Version 

如果是Windows Forms应用程序,则可以随时通过应用程序访问,如果专门查找产品版本的话。

 Application.ProductVersion 

使用GetExecutingAssembly作为程序集引用并不总是一个选项。 因此,我个人发现在需要引用底层程序集或程序集版本的项目中创build静态帮助程序类非常有用:

 // 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

在MSDN中, Assembly.GetExecutingAssembly方法是关于方法“getexecutingassembly”的注释,出于性能原因,只有在devise时不知道当前正在执行的程序集的情况下,才应该调用此方法。

检索表示当前程序集的Assembly对象的build议方法是使用程序Type.Assemblyfind的types的Type.Assembly属性。

以下示例说明:

 using System; using System.Reflection; public class Example { public static void Main() { Console.WriteLine("The version of the currently executing assembly is: {0}", typeof(Example).Assembly.GetName().Version); } } /* This example produces output similar to the following: The version of the currently executing assembly is: 1.1.0.0 

当然这与helper类“public static class CoreAssembly”的答案非常相似,但是,如果您知道至less有一种types的正在执行的程序集,那么创build辅助类并不是强制性的,它会节省您的时间。

 using System.Reflection; { string version = Assembly.GetEntryAssembly().GetName().Version.ToString(); } 

MSDN备注http://msdn.microsoft.com/zh-cn/library/system.reflection.assembly.getentryassembly%28v=vs.110%29.aspx

从非托pipe应用程序加载托pipe程序集时, GetEntryAssembly方法可以返回null 例如,如果非托pipe应用程序创build用C#编写的COM组件的实例,则从C#组件调用GetEntryAssembly方法将返回null ,因为进程的入口点GetEntryAssembly托pipe代码而不是托pipe程序集。

这应该做的:

 Assembly assem = Assembly.GetExecutingAssembly(); AssemblyName aName = assem.GetName(); return aName.Version.ToString(); 

我终于落户于typeof(MyClass).GetTypeInfo().Assembly.GetName().Version netstandard1.6 typeof(MyClass).GetTypeInfo().Assembly.GetName().Version的应用程序。 所有其他提出的答案都是部分解决scheme。 这是我唯一需要的东西。

源自一个组合的地方:

https://msdn.microsoft.com/en-us/library/x4cw969y(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/2exyydhb(v=vs.110).aspx