`az webapp up` 不再在 dotnet 发布目录中工作

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

我尝试在运行

dotnet publish
后部署 dotnet 项目的内容,但较新版本的
azure-cli
抱怨以下错误消息:

$ az webapp up --name MyAppService
Could not auto-detect the runtime stack of your app, see 'https://go.microsoft.com/fwlink/?linkid=2109470' for more information

按照链接https://go.microsoft.com/fwlink/?linkid=2109470,我可以看到它正在寻找 *.csproj 文件,但这对我来说没有意义,因为我'我正在从我的发布目录部署文件。据我所知,如果我从包含 *.csproj 文件的目录运行它,它可以工作,但会尝试压缩和上传所有源代码,而不仅仅是已发布的文件。

它最初在

azure-cli
v2.0.66 中工作。最近我降级到 v2.0.75(如此处所示 https://stackoverflow.com/a/59529584)并且它也可以工作,但我想保持
azure-cli
为最新状态。我还看到
azure-cli
添加了
--html
标志来部署静态文件,但我的情况有点不同。

所以问题是:如何让

az webapp up
dotnet publish
>v2.0.75 版本中的
azure-cli
目录中工作?

asp.net azure .net-core azure-web-app-service azure-cli
4个回答
1
投票

我认为存在一些相关的错误。

我也有类似的问题。在本教程之后,最后一步是应用

az webapp up
命令,但部署的站点仅显示一条消息:“您无权查看此目录或页面”。这意味着在部署的站点文件夹中未检测到任何站点。

我应用了

dotnet publish
命令并尝试从已发布的文件夹运行
az webapp run
,但结果与您相同:“无法自动检测应用程序的运行时堆栈,请参阅“https://go” .microsoft.com/fwlink/?linkid=2109470'了解更多信息。”

最后,从 root 项目文件夹 我运行

dotnet publish -o .
,然后运行
az webapp up
并让部署按预期工作。这听起来真的很疯狂,因为我终于将发布的文件与源代码合并了。

这是我第一次尝试使用

az webapp up
,希望这个问题尽快得到解决。


0
投票

尝试将 CLI 版本升级到 2.0.79,看看是否有帮助。我们最近遇到了 Az webapp up 的问题,该问题已在 2.0.79 版本中修复。

请查看此线程以获取更多信息:Github Issue

还有此文档以供更多参考:在 Azure 中创建静态 Web 应用程序


0
投票

尝试从项目目录(您拥有 .csproj 文件)执行以下命令:

dotnet publish

然后从您的 publish 目录(其中包含上一个

dotnet publish
命令生成的输出文件)执行以下命令:

az webapp up --name <AppServiceName> --runtime <desired_runtime> --os-type <Windows|Linux>

注意:您可以使用

az webapp list-runtimes

查看可用运行时的列表

如果

az webapp up
命令失败,请检查您的应用服务的 Azure Web 门户(如果您有以下 应用程序设置 参数):

SCM_DO_BUILD_DURING_DEPLOYMENT

如果存在,请将其值设置为

False
,确保保存其新值,然后重试
az webapp up
完成命令。


0
投票

如果您使用的是较新的 dotnet 之一(7、8 等)。您需要指定

--runtime

例如

# build and create output files
dotnet publish

# go to the published folder
cd bin\Debug\net7.0\publish

# deploy. Make sure you use the --runtime param!
az webapp up --name myapp --os-type windows --runtime dotnet:7

这对我有用

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