Mono/MonoDevelop:在运行时获取解决方案版本

Way*_*rts 2 c# mono monodevelop

我希望<ReleaseVersion>在运行时检索应用程序版本(本质上是解决方案文件中的属性).如何通过代码访问这个?

chu*_*e x 6

在.NET中设置应用程序版本的标准方法(因此可能是MONO)是使用该AssemblyVersion属性.这通常在AssemblyInfo.cs文件中指定,但可以在其他文件中指定,如下所示.

要在运行时获取版本,可以使用AssemblyName.Version属性.以下是给定链接的代码的略微修改版本:

using System;
using System.Reflection;

[assembly:AssemblyVersion("1.1.0.0")]

class Example
{
    static void Main()
    {
        Console.WriteLine("The version of the currently executing assembly is: {0}",
          Assembly.GetExecutingAssembly().GetName().Version);
    }
}
Run Code Online (Sandbox Code Playgroud)

编译和运行时,它会产生以下结果:

当前正在执行的程序集的版本是:1.1.0.0

上述内容在.NET(Visual Studio 2010)和Mono 3.0(使用mcs命令行编译,而不是Mono Develop)上进行了测试.