如何检索产品版本?

How to retrieve Product Version?

有没有办法检索 ASP.NET 5 网络应用程序的产品版本?

这是我的 project.json:

"version": "4.0.0-alpha1"

我怎样才能从应用程序中检索它?我曾经能够在旧的 ASP.NET 版本上执行此操作:

System.Reflection.Assembly.GetExecutingAssembly().GetName().Version

然而,现在它一直给我 0.0.0.0。有什么想法吗?

如果您还没有 project.json 文件,请在 System.Reflection 中添加对 System.Reflection 的引用。

"dependencies": {
    "System.Reflection": "4.1.0-beta-23516" // Current version at time of posting
}

然后,您可以从 AssemblyInformationalVersionAttribute InformationalVersion 属性.

中获取值
private static string GetRuntimeVersion() =>
        typeof(SomeClassInYourAssembly)
            .GetTypeInfo()
            .Assembly
            .GetCustomAttribute<AssemblyInformationalVersionAttribute>()
            .InformationalVersion;

在任何需要版本的地方注入 IApplicationEnvironment。因此,例如在 Startup class:

的 Configure 方法中
       public void Configure(IApplicationBuilder app, 
        IApplicationEnvironment applicationEnvironment)
    {
        app.UseIISPlatformHandler();

        app.Run(async (context) =>
        {
            await context.Response.WriteAsync(applicationEnvironment.ApplicationVersion);
        });
    }

来源:"Services Available in Startup" http://docs.asp.net/en/latest/fundamentals/startup.html