我正在使用 bicep 在 azure 中配置一个 api 应用程序。这是一个 dotnet core 3.1 应用程序。对于 netFrameworkVersion 我提供“v3.1”,但这不起作用。 Bicep 模板的部署确实有效,但我的应用程序却不起作用。门户中.NET 版本的值为空。
当我手动更改门户中的版本并导出我的应用程序时,返回的 ARM 模板将 netFrameworkVersion 设置为“v4.0”。我很困惑,这里发生了什么?我似乎找不到任何有关此的文档。
您需要在
CURRENT_STACK
部分中指定 netFrameworkVersion
元数据和 siteConfig
属性:
resource webapp 'Microsoft.Web/sites@2018-11-01' = {
...
properties: {
...
siteConfig: {
...
netFrameworkVersion: 'v6.0'
metadata: [
{
name: 'CURRENT_STACK'
value: 'dotnet'
}
]
...
}
...
}
}
Microsoft 使用较新的 API 版本更改了此设置,现在使用属性“linuxFxVersion”来设置此设置:
resource webapp 'Microsoft.Web/sites@2020-12-01' = {
...
properties: {
...
siteConfig: {
...
linuxFxVersion: 'DOTNETCORE|6.0'
}
}
}
对我来说,我必须在
netFrameworkVersion
部分设置 siteConfig
:
resource functionapp 'Microsoft.Web/sites@2022-03-01' = {
...
properties: {
...
siteConfig: {
...
netFrameworkVersion: '6.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'
}
}
}