Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core DNX核心应用程序版本信息_Asp.net Core_Dnx - Fatal编程技术网

Asp.net core DNX核心应用程序版本信息

Asp.net core DNX核心应用程序版本信息,asp.net-core,dnx,Asp.net Core,Dnx,在早期基于.NET的应用程序中,我实现了一个返回应用程序信息的中心方法,通常是产品名称、版本和合法版权。此方法通过System.Reflection.Assembly实现,或在较新的应用程序中通过System.Diagnostics.FileVersionInfo实现。这使我能够将版本号保留在中心位置,即主程序集文件,并在VisualStudio项目属性中轻松编辑它 现在在DNX内核中,所有这些似乎都不可用,无论是System.Reflection还是System.Diagnostics 您建议

在早期基于.NET的应用程序中,我实现了一个返回应用程序信息的中心方法,通常是产品名称、版本和合法版权。此方法通过System.Reflection.Assembly实现,或在较新的应用程序中通过System.Diagnostics.FileVersionInfo实现。这使我能够将版本号保留在中心位置,即主程序集文件,并在VisualStudio项目属性中轻松编辑它

现在在DNX内核中,所有这些似乎都不可用,无论是System.Reflection还是System.Diagnostics


您建议如何以平台无关的方式管理基于DNX core的ASP.NET 5应用程序中的版本信息?

project.json文件具有版本号、名称、描述、版权、作者等。这些属性与构建NuGet包时使用的属性相同。事实上,如果创建“类库(包)”项目,可以通过选中项目属性中的选项将其直接编译为NuGet.nupkg文件

我相信您可以使用
Configuration.GetConfigurationSection
读取此文件
ApplicationSettings
只是一个具有project.json中您想要读取的属性的类

var configurationSection = configuration.GetConfigurationSection(nameof(ApplicationSettings));
var applicationSettings = ConfigurationBinder.Bind<ApplicationSettings>(configurationSection);
var configurationSection=configuration.GetConfigurationSection(nameof(ApplicationSettings));
var applicationSettings=ConfigurationBinder.Bind(configurationSection);

您可以实现类似dnx的
IRuntimeEnvironment

  • (实施
    IRuntimeEnvironment
现在在DNX内核中,所有这些似乎都不可用,无论是System.Reflection还是System.Diagnostics

不知道你说的是什么意思<代码>系统.反射和
系统.诊断
可用:


如果找不到特定类型,请使用网站查看它在哪个NuGet软件包中

project.json文件具有版本号、名称、描述、版权、作者等。这些属性与构建NuGet软件包时使用的属性相同。我相信您可以使用
Configuration.GetConfigurationSection
阅读此文件。听起来不错。我希望已经有了一个标准的方法,但无论如何,这似乎是简单和直观的。您不能将此作为答案发布,以便我可以接受吗?My project.json顶部只包含一个版本号,没有版权、作者、产品名称等。。无论如何,我可以按照您的建议使用我的config.json文件,在那里我自己添加了所有版本信息。您可以添加这些属性。默认情况下,它们不在那里。你应该为他们获得intelli sense,但我认为你需要使用Beta 6和更高版本。太好了,这也行。我不清楚系统。反射和系统。诊断。在旧代码中,我使用了例如System.Reflection.Assembly.GetExecutionGassembly。因为Intellisense告诉我它在核心CLR中不可用。正确,
getExecutionGassembly
在核心CLR中不可用