netFrameworkVersion

问题描述 投票:0回答:5

我正在使用 bicep 在 azure 中配置一个 api 应用程序。这是一个 dotnet core 3.1 应用程序。对于 netFrameworkVersion 我提供“v3.1”,但这不起作用。 Bicep 模板的部署确实有效,但我的应用程序却不起作用。门户中.NET 版本的值为空。 enter image description here

当我手动更改门户中的版本并导出我的应用程序时,返回的 ARM 模板将 netFrameworkVersion 设置为“v4.0”。我很困惑,这里发生了什么?我似乎找不到任何有关此的文档。
enter image description here

enter image description here

.net azure azure-resource-manager azure-webapps azure-bicep
5个回答
11
投票

您需要在

CURRENT_STACK
部分中指定
netFrameworkVersion
元数据和
siteConfig
属性:

resource webapp 'Microsoft.Web/sites@2018-11-01' = {
  ...
  properties: {
    ...
    siteConfig: {
      ...
      netFrameworkVersion: 'v6.0'
      metadata: [
        {
          name: 'CURRENT_STACK'
          value: 'dotnet'
        }
      ]
      ...
    }
    ...
  }
}

0
投票

Microsoft 使用较新的 API 版本更改了此设置,现在使用属性“linuxFxVersion”来设置此设置:

resource webapp 'Microsoft.Web/sites@2020-12-01' = {
...
   properties: {
     ...
     siteConfig: {
        ...
        linuxFxVersion: 'DOTNETCORE|6.0'
     }
   }
}


0
投票

对我来说,我必须在

netFrameworkVersion
部分设置
siteConfig

resource functionapp 'Microsoft.Web/sites@2022-03-01' = {
...
   properties: {
     ...
     siteConfig: {
        ...
        netFrameworkVersion: '6.0'
     }
   }
}


0
投票

截至 2023 年 4 月 21 日,以下内容对我有用。

metadata
内的
siteConfig
显示为无效,但将元数据添加为单独的
config
资源有效:

resource webApplication 'Microsoft.Web/sites@2022-03-01' = {
  name: 'my-app-name'
  ...
  properties: {
    ...
    siteConfig: {
      netFrameworkVersion: 'v6.0'
    }
  }
  resource meta 'config@2022-03-01' = {
    name: 'metadata'
    kind: 'string'
    properties: {
      CURRENT_STACK: 'dotnet'
    }
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.