从Visual Studio发布ASP.NET Core至Azure Linux应用服务计划问题咨询
解决Visual Studio发布时找不到Azure Linux应用服务计划的问题
嗨Jose,我之前也碰到过好几次类似的情况,大概率是几个常见的配置或权限问题导致的,给你几个靠谱的解决步骤:
先排查基础问题
- 确认账户与订阅匹配:打开Visual Studio的「服务器资源管理器」,展开「Azure」节点,右键点击「订阅」选择「管理订阅」。检查你登录的账户是否有权限访问目标资源组,并且对应的订阅已经被勾选——有时候默认没选到正确的订阅,就看不到里面的资源。
- 验证服务计划类型:回到Azure门户,确认你预先创建的是Linux应用服务计划(不是Windows的)。Visual Studio发布时只会过滤出与项目平台匹配的计划,如果你的ASP.NET Core项目是跨平台类型,但服务计划是Windows的,就不会被显示出来。
如果还是找不到,试试手动关联Web应用再发布
很多时候直接选择已有服务计划会出现识别问题,但通过先创建关联它的Web应用就能解决:
- 登录Azure门户,找到你已创建的Linux应用服务计划,在同一个资源组里新建一个Linux Web应用。创建过程中,在「托管计划」选项里选择你预先建好的那个Linux服务计划。
- 回到Visual Studio,创建发布配置文件时选择「Azure App Service(Windows/Linux)」,这时候就能看到你刚创建的Web应用了——选择它发布,本质上就是用了你预先准备的服务计划。
检查Visual Studio工具版本
旧版本的Azure工具可能对新资源的支持有问题:
- 打开Visual Studio的「工具」→「获取工具和功能」,确认「Azure开发」工作负载已经安装并且是最新版本。
- 也可以在「扩展管理器」里搜索「Azure App Service Tools」,更新到最新版后重启Visual Studio再尝试。
备用方案:用Azure CLI手动部署
如果上面的方法都不行,直接用CLI部署会更直接:
- 在Visual Studio里右键项目,选择「发布」→「创建配置文件」→「文件夹」,生成发布包(默认路径是
bin/Release/<你的.NET版本>/publish)。 - 打开命令行,运行
az login登录你的Azure账户,然后用az account set --subscription "你的订阅名称或ID"切换到目标订阅。 - 最后运行部署命令:
az webapp deploy --resource-group "你的资源组名称" --name "你创建的Web应用名称" --src-path "你的发布包路径"
记得部署前,在Azure门户的Web应用「配置」→「常规设置」里,把.NET Core版本设置成和你的项目一致,避免运行时版本不兼容的问题。
内容的提问来源于stack exchange,提问作者Jose Parra
相关产品推荐
相关产品推荐

