如何从应用程序中确定 CoreCLR 运行时的版本
How to determine version of CoreCLR runtime from within application
我注意到我以前在 .NET Core 上的 Azure 应用服务中非常稳定的 Web 应用 运行 本周开始抛出新错误。
我怀疑(这只是一个猜测)本周 Azure 应用服务上安装了 .NET Core 1.0.1 共享运行时,并且我的应用程序前滚到 1.0.1 运行时,如此处所述:
接下来,我想记录哪个版本的 Core Runtime 以帮助进行故障排除。
如何从我的 ASPNET Core Web 应用程序中确定哪个版本的核心运行时 运行(即 1.0.0 或 1.0.1)?
我搜索了整个 Internet,甚至尝试查看源代码,但找不到(或是否)公开了它。
我前一段时间花了一些时间深入研究这里的代码: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 Preview 4 开始可用:
https://github.com/dotnet/corefx/issues/35573
我注意到我以前在 .NET Core 上的 Azure 应用服务中非常稳定的 Web 应用 运行 本周开始抛出新错误。
我怀疑(这只是一个猜测)本周 Azure 应用服务上安装了 .NET Core 1.0.1 共享运行时,并且我的应用程序前滚到 1.0.1 运行时,如此处所述:
接下来,我想记录哪个版本的 Core Runtime 以帮助进行故障排除。
如何从我的 ASPNET Core Web 应用程序中确定哪个版本的核心运行时 运行(即 1.0.0 或 1.0.1)?
我搜索了整个 Internet,甚至尝试查看源代码,但找不到(或是否)公开了它。
我前一段时间花了一些时间深入研究这里的代码: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 Preview 4 开始可用: https://github.com/dotnet/corefx/issues/35573