.net core 如何获取自包含部署(SCD)应用程序的.NET核心运行时版本?

.net core 如何获取自包含部署(SCD)应用程序的.NET核心运行时版本?,.net-core,.net Core,我使用dotnet publish-r linux-x64发布我的.NET Core应用程序,因此它是自包含的,并且运行它的服务器上没有安装.NET Core runtime。我想它是用.NETCore2.1.something构建的。我如何才能确定确切的版本?理想情况下,我希望在运行时得到这个结果,这样应用程序本身就可以报告它正在运行的运行时,但即使有一些SDK工具报告它(如dotnet get runtime version My.Assembly.Dll),这总比什么都没有好。当应用程序发

我使用
dotnet publish-r linux-x64
发布我的.NET Core应用程序,因此它是自包含的,并且运行它的服务器上没有安装.NET Core runtime。我想它是用.NETCore2.1.something构建的。我如何才能确定确切的版本?理想情况下,我希望在运行时得到这个结果,这样应用程序本身就可以报告它正在运行的运行时,但即使有一些SDK工具报告它(如
dotnet get runtime version My.Assembly.Dll
),这总比什么都没有好。

当应用程序发布时,它将生成
My.Assembly.deps.json
,其中包含有关所包含运行时的信息。查找引用的
Microsoft.NETCore.App
版本

示例(仅修剪到相关属性):


deps.json
作为.NET Core CLI规范的一部分在中作了进一步的说明,尽管它没有直接定义与运行时版本的关系。

发布应用程序时,它将生成
My.Assembly.deps.json
,其中包含有关所包含运行时的信息。查找引用的
Microsoft.NETCore.App
版本

示例(仅修剪到相关属性):

deps.json
作为.NET核心CLI规范的一部分在中作了进一步的说明,尽管它没有直接定义与运行时版本的关系

{
  "targets": {
    ".NETCoreApp,Version=v2.2/win-x86": {
      "My.Assembly/1.0.0": {
        "dependencies": {
          "Microsoft.NETCore.App": "2.2.4"
        },
        "runtime": {
          "My.Assembly.dll": {}
        }
      }
    }
  }
}