Dot-Net-Core
如何從應用程序中確定 CoreCLR 執行時的版本
我注意到,我以前在 .NET 核心上的 Azure App Service 中執行的非常穩定的 Web 應用程序本週開始拋出新的錯誤。
我懷疑(這只是猜測),本週在 Azure 應用服務上安裝了 .NET Core 1.0.1 共享執行時,並且我的應用程序前滾到 1.0.1 執行時,如下所述:
展望未來,我想記錄核心執行時的版本以幫助進行故障排除。
如何從我的 ASPNET Core Web 應用程序中確定正在執行的核心執行時版本(即 1.0.0 或 1.0.1)?
我搜尋了整個網際網路,甚至嘗試查看原始碼,但我找不到它在哪裡(或是否)暴露。
我花了一段時間來深入探勘這裡的程式碼: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 的一部分,請點贊
更新 3/1/2019 這將從 .NET Core 3.0 Preview 4 開始提供: https ://github.com/dotnet/corefx/issues/35573