如何从应用程序中确定CoreCLR运行时的版本

NPN*_*son 8 .net-core

我注意到我以前在.NET核心上的Azure App Service中运行的非常稳定的Web应用程序本周开始出现新的错误.

我怀疑(这只是一个猜测),.NET Core 1.0.1共享运行时本周安装在Azure App Service上,我的应用程序前滚到1.0.1运行时,如下所述:

https://blogs.msdn.microsoft.com/dotnet/2016/09/13/announcing-september-2016-updates-for-net-core-1-0/

展望未来,我想记录什么版本的Core Runtime以帮助进行故障排除.

如何从我的ASPNET核心Web应用程序中确定正在运行的核心运行时版本(即1.0.0或1.0.1)?

我搜索了整个互联网,甚至尝试查看源代码,但我找不到它暴露的地方(或者是否).

NPN*_*son 5

前一段时间我花了一些时间在这里深入研究代码:https : //github.com/dotnet/cli/blob/master/src/Microsoft.DotNet.Cli.Utils/Muxer.cs

我最终使用了这样的东西:https : //gist.github.com/npnelson/5bf49a145338120cacbac7ee8bd399bf

它已经为我工作了一段时间,但随着 .NET Core 的发展,它似乎非常脆弱,因此请谨慎使用。

2018 年 3 月 28 日更新 dotnet 团队正在积极跟踪:https : //github.com/dotnet/corefx/issues/28132如果您想看到它成为 API 的一部分,请点赞

2019 年 3 月 1 日更新 这将从 .NET Core 3.0 预览版 4 开始提供:https : //github.com/dotnet/corefx/issues/35573