Azure webapp:堆栈设置

Azure webapp: Stack settings

我可以通过门户为网络应用程序设置我的堆栈:

我通过 ARM 模板部署我的基础设施:

 "apiVersion": "2015-08-01",
  "type": "Microsoft.Web/sites",
  "name": "[variables('name')]",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[concat(parameters('customer'),'-','webapp-small','-' , 'plan','-',parameters('env'))]"
  ],
  "properties": {
    "clientAffinityEnabled": false,
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', concat(parameters('customer'),'-','webapp-small','-' , 'plan','-',parameters('env')))]",
    "siteConfig": {
      "alwaysOn": "[parameters('webAppAlwaysOn')]",
      "use32BitWorkerProcess": true,
      "connectionStrings": [
      ],
      "appSettings": [
        {
          "name": "WEBSITE_LOAD_CERTIFICATES",
          "value": "[reference(variables('name')).thumbprint]"
        },
        {
          "name": "WEBSITE_RUN_FROM_PACKAGE",
          "value": 0
        },
        {
          "name": "WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG",
          "value": 1
        },
        {
          "name": "ASPNETCORE_ENVIRONMENT",
          "value": "[parameters('AspNetCoreEnvironment')]"
        },
        {
          "name": "EnvironmentOptions:ResourceGroupPostfix",
          "value": "[parameters('env')]"
        },
        {
          "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
          "value": "[reference(variables('aiWebName')).InstrumentationKey]"
        },
        {
          "name": "IpWhiteList",
          "value": "[parameters('whitelist')]"
        }
      ]
    }
  }
}

部署到此的代码是 .NET Core 2.2 应用程序。我看不到任何可以设置堆栈设置的地方:https://docs.microsoft.com/en-us/azure/templates/microsoft.web/2018-11-01/sites,但是当我部署 .NET Core 代码时,一切正常。 "Stack settings" 有什么用?为什么我不能通过ARM设置它?我什至需要设置它吗?我想象运行时可以猜测它是一个.NET Core 应用程序,然后让它自动运行。

Stack settings就是设置你想要的语言和版本 use.App 服务支持六种语言堆栈:ASP.NET Core Node.js PHP Python Java Ruby。如果您在 windows 上创建,则可以在门户网站上选择 5 个堆栈(.NET .NET Core PHP Python Java)。如果选择linux,门户网站上有7个栈可以选择(Ruby Node PHP .NET Core Java8 Java11 Python) .

您似乎在 windows OS 上创建了应用服务,因此在初始创建 Web 应用后,不再需要识别应用是 .NET Core 应用因为 .NET Core 位已经安装在底层 worker 上。您可以查看此 Offical doc 以了解有关 Azure 应用服务配置的更多信息。