Asp.net core 如何读取dotnet core中的project版本(以前是asp.net mvc6)

Asp.net core 如何读取dotnet core中的project版本(以前是asp.net mvc6),asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,如何读取项目的程序集版本信息(本例中的值来自from project.json),并在ASP.net核心控制器中读取该信息并将其传递给视图?您可以从项目的程序集获取AssemblyInformationalVersionAttribute,然后将其传递给视图 以下是获取该属性的方法:在早期测试版中,您可以使用参数iaapplicationenvironment向控制器添加构造函数。此参数有一个名为Version的属性 public HomeController(IApplicationEnv

如何读取项目的程序集版本信息(本例中的值来自from project.json),并在ASP.net核心控制器中读取该信息并将其传递给视图?

您可以从项目的程序集获取
AssemblyInformationalVersionAttribute
,然后将其传递给视图


以下是获取该属性的方法:

在早期测试版中,您可以使用参数
iaapplicationenvironment
向控制器添加构造函数。此参数有一个名为
Version
的属性

  public HomeController(IApplicationEnvironment appEnvironment) {
        this.appEnvironment = appEnvironment;
  }

(不再适用于ASP.net core 1.0)

您可以使用Razor从视图中获得正确的结果,并绕过控制器

    <b>Version</b> @(
            Assembly.GetAssembly(typeof(HomeController))
                .GetCustomAttribute<AssemblyInformationalVersionAttribute>()
                .InformationalVersion
        ) 
版本@(
汇编.GetAssembly(类型(HomeController))
.GetCustomAttribute()
.信息版本
) 

要获取project.json中的应用程序版本,您需要编写:

    string appVersion = Assembly.
      GetEntryAssembly().
     GetCustomAttribute<AssemblyInformationalVersionAttribute>().
     InformationalVersion;

这个答案不再正确,在以后的版本中,甚至在发布的版本中,这都不起作用。最好在Stackoverflow上实际显示要做什么,而不是“阅读稍后将中断的链接”
....
  string dotNetRuntimeVersion = typeof(RuntimeEnvironment)
                        .GetTypeInfo()
                        .Assembly
                        .GetCustomAttribute<AssemblyInformationalVersionAttribute>()
                        .InformationalVersion;
using Microsoft.DotNet.InternalAbstractions;
using System.Reflection;