使用 Visual Studio 将 ASP.NET Core 应用发布到 Azure

重要

Azure 应用服务中的 ASP.NET Core 预览版

默认情况下不会将 ASP.NET Core 预览版部署到 Azure 应用服务。 要托管使用 ASP.NET Core 预览版的应用,请参阅将 ASP.NET Core 预览版部署到 Azure 应用服务

要解决应用服务部署问题,请参阅对 Azure 应用服务和 IIS 上的 ASP.NET Core 进行故障排除

设置

如果没有免费 Azure 帐户,请开设一个。

创建 Web 应用

启动 Visual Studio 2022 并选择“创建新项目”

Create a new project from the start window

在“创建新项目”对话框中,选择“ASP.NET Core Web 应用”,然后选择“下一步”

Create an ASP.NET Core Web App

在“配置新项目”对话框中,对项目进行命名,然后选择“下一步”。

在“其他信息”对话框中:

  • 在“Framework”输入中,选择“.NET 7.0 (标准期限支持)”。
  • 在“身份验证类型”输入中,选择“个人帐户”,然后选择“创建”。

Additional information

Visual Studio 随即创建解决方案。

运行应用

  • 按 F5 运行项目。

Web application open in Microsoft Edge on localhost

注册用户

  • 选择“注册”并注册新用户。 可使用虚构电子邮件地址。 提交时,页面上会显示以下错误:

    “处理请求时,数据库操作失败。 应用现有迁移也许能解决此问题”

  • 选择“应用迁移”,并在页面更新后刷新页面。

A database operation failed while processing the request

  • 随即显示“注册确认”页。 选择“单击此处以确认你的帐户”。
  • 随即显示“确认电子邮件”页。
  • 以新用户身份登录。

应用将显示用于注册新用户的电子邮件和一个“注销”链接。

Web application open in Microsoft Edge. The Register link is replaced by the text Hello user@example.com!

  • 通过关闭浏览器或在 Visual Studio 中选择“调试”>“停止调试”来停止应用程序。
  • 在 Visual Studio 中,选择“生成”>“清理解决方案”以清理项目项并避免文件争用。

将应用部署到 Azure

在“解决方案资源管理器”中右键单击项目,然后选择“发布”。

Contextual menu open with Publish link highlighted

在“发布”对话框中:

  • 选择“Azure”。
  • 选择下一步

Publish dialog

在“发布”对话框中:

  • 选择“Azure 应用服务(Windows)”。
  • 选择下一步

Publish Dialog: select Azure Service

在“发布”对话框中的“应用服务”选项卡中,选择“新建”。

Publish dialog: select Azure Service instance

“创建应用服务”对话框随即显示:

  • “名称”、“资源组”和“托管计划”输入字段已填充。 可以保留这些名称,也可以进行更改。
  • 选择创建

Create App Service dialog

创建完成后,对话框将自动关闭,“发布”对话框将再次成为焦点:

  • 将自动选择刚创建的新实例。
  • 选择“完成”

Publish dialog: select App Service instance

“发布配置文件创建进度”对话框确认已创建发布配置文件。 选择“关闭” 。

接下来,你将看到“发布配置文件摘要”页。 Visual Studio 检测到此应用程序需要它在“服务依赖项”窗格中列出的 SQL Server 数据库。 选择省略号 (...),然后选择“连接”。

Publish Profile summary page: configure SQL Server dependency

随即显示“连接到依赖项”对话框:

  • 选择“Azure SQL 数据库”。
  • 选择下一步

Configure SQL Server Dependency dialog

在“连接到 Azure SQL 数据库”对话框中,选择“新建”。

Select Create a SQL DB

随即出现“创建 Azure SQL 数据库”:

  • “数据库名称”、“资源组”、“数据库服务器”、“应用服务计划”输入字段已填充。 可以保留这些值,也可以进行更改。
  • 为所选“数据库服务器”输入“数据库管理员用户名”和“数据库管理员密码”(请注意,你使用的帐户必须具有创建新 Azure SQL 数据库所需的权限)
  • 选择创建

New Azure SQL Database dialog

创建完成后,对话框将自动关闭,“连接到 Azure SQL 数据库”对话框将再次成为焦点:

  • 将自动选择刚创建的新实例。
  • 选择下一步

Select Next

在“连接到 Azure SQL 数据库”对话框的下一步中:

  • 输入“数据库连接用户名”和“数据库连接密码”字段。 应用程序将使用这些详细信息在运行时连接到数据库。 最佳做法是,避免使用与上一步中的管理员用户名和密码相同的详细信息。
  • 选择“完成”

Configure Azure SQL Database dialog, connection string details

“依赖项配置进度”对话框确认已配置 Azure SQL 数据库。 选择“关闭” 。

在“发布配置文件摘要”页中,选择“更多操作”>“编辑”:

Publish profile summary page: edit settings

在“发布”对话框的“设置”选项卡上:

  • 展开“数据库”并选中“在运行时使用此连接字符串” 。

  • 展开“实体框架迁移”并选择“在发布时应用此迁移”。

  • 选择“保存”。 Visual Studio 将返回到“发布”对话框。

Publish dialog: Settings panel:Save

单击“发布” 。 Visual Studio 将应用发布到 Azure。 部署完成时。

Last step

应用在浏览器中打开。 注册新用户后以新用户身份登录,以验证数据库部署和运行时连接。

更新应用

  • 编辑 Pages/Index.cshtmlRazor 页并更改其内容,然后保存更改。 例如,可以将段落修改为显示“Hello ASP.NET Core!”:

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <div class="text-center">
        <h1 class="display-4">Welcome</h1>
        <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
        <p>Hello ASP.NET Core!</p>
    </div>
    
  • 再次选择“发布配置文件摘要”页中的“发布”。

Publish profile summary page

  • 发布应用后,刷新该页,验证所做的更改在 Azure 上是否可用。

Verify task is complete

清理

完成应用测试后,转到 Azure 门户并删除该应用。

  • 选择“资源组”,然后选择所创建的资源组。

Azure Portal: Resource Groups in sidebar menu

  • 在“资源组”页上,选择“删除资源组”。

Azure Portal: Resource Groups page

  • 输入资源组的名称并选择“删除”。 现已从 Azure 中删除了本教程中创建的应用和其他所有资源。

其他资源