使用 Visual Studio 将 ASP.NET Core 应用发布到 AzurePublish an ASP.NET Core app to Azure with Visual Studio

作者:Rick AndersonBy Rick Anderson

重要

Azure 应用服务中的 ASP.NET Core 预览版ASP.NET Core preview releases with Azure App Service

默认情况下不会将 ASP.NET Core 预览版部署到 Azure 应用服务。ASP.NET Core preview releases aren't deployed to Azure App Service by default. 要托管使用 ASP.NET Core 预览版的应用,请参阅将 ASP.NET Core 预览版部署到 Azure 应用服务To host an app that uses an ASP.NET Core preview release, see Deploy ASP.NET Core preview release to Azure App Service.

若使用的是 macOS,请参阅使用 Visual Studio for Mac 将 Web 应用发布到 Azure 应用服务See Publish a Web app to Azure App Service using Visual Studio for Mac if you are working on macOS.

若要对应用服务部署问题进行故障排除,请参阅 对 Azure 应用服务和 IIS 上的 ASP.NET Core 进行故障排除To troubleshoot an App Service deployment issue, see 对 Azure 应用服务和 IIS 上的 ASP.NET Core 进行故障排除.

设置Set up

创建 Web 应用Create a web app

在 Visual Studio 起始页中,选择“文件”>“新建”>“项目...”In the Visual Studio Start Page, select File > New > Project...

“文件”菜单

填写“新建项目”对话框:Complete the New Project dialog:

  • 选择“ASP.NET Core Web 应用程序”。Select ASP.NET Core Web Application.
  • 选择“下一步”。Select Next.

“新建项目”对话框

在“新建 ASP.NET Core Web 应用程序”对话框中:In the New ASP.NET Core Web Application dialog:

  • 选择“Web 应用程序”。Select Web Application.
  • 选择“身份验证”下的“更改”。Select Change under Authentication.

“新建 ASP.NET Core Web”对话框

“更改身份验证”对话框随即出现。The Change Authentication dialog appears.

  • 选择“个人用户帐户”。Select Individual User Accounts.
  • 选择“确定”返回到“新建 ASP.NET Core Web 应用程序”,然后选择“创建”。Select OK to return to the New ASP.NET Core Web Application, then select Create.

“新建 ASP.NET Core Web 身份验证”对话框

Visual Studio 随即创建解决方案。Visual Studio creates the solution.

运行应用Run the app

  • 按 Ctrl+F5 运行项目。Press CTRL+F5 to run the project.
  • 测试“隐私”链接。Test the Privacy link.

localhost 上的 Microsoft Edge 中打开的 Web 应用程序

注册用户Register a user

  • 选择“注册”并注册新用户。Select Register and register a new user. 可使用虚构电子邮件地址。You can use a fictitious email address. 提交时,页面上会显示以下错误:When you submit, the page displays the following error:

    “处理请求时,数据库操作失败。可通过向应用程序数据库上下文应用现有迁移解决此问题。”"A database operation failed while processing the request. Applying existing migrations for Application DB context may resolve this issue."

  • 选择“应用迁移”,并在页面更新后刷新页面。Select Apply Migrations and, once the page updates, refresh the page.

处理请求时,数据库操作失败。

应用将显示用于注册新用户的电子邮件和一个“注销”链接。The app displays the email used to register the new user and a Logout link.

Microsoft Edge 中打开的 Web 应用程序。

将应用部署到 AzureDeploy the app to Azure

在解决方案资源管理器中右键单击该项目,然后选择“发布...”。Right-click on the project in Solution Explorer and select Publish....

打开且突出显示“发布”链接的上下文菜单

在“发布”对话框中:In the Publish dialog:

  • 选择“Azure”。Select Azure.
  • 选择“下一步”。Select Next.

“发布”对话框

在“发布”对话框中:In the Publish dialog:

  • 选择“Azure 应用服务 (Linux)”。Select Azure App Service (Linux).
  • 选择“下一步”。Select Next.

“发布”对话框:选择 Azure 服务

在“发布”对话框中,选择“创建新的 Azure 应用服务...”In the Publish dialog select Create a new Azure App Service...

“发布”对话框:选择 Azure 服务实例

“创建应用服务”对话框随即显示:The Create App Service dialog appears:

  • “应用名称”、“资源组”和“应用服务计划”输入字段已填充 。The App Name, Resource Group, and App Service Plan entry fields are populated. 可以保留这些名称,也可以进行更改。You can keep these names or change them.
  • 选择“创建”。Select Create.

“创建应用服务”对话框

创建完成后,对话框将自动关闭,“发布”对话框将再次成为焦点:After creation is completed the dialog is automatically closed and the Publish dialog gets focus again:

  • 将自动选择刚创建的新实例。The new instance that was just created is automatically selected.
  • 选择“完成”。Select Finish.

“发布”对话框:选择应用服务实例

接下来,你将看到“发布配置文件摘要”页。Next you see the Publish Profile summary page. Visual Studio 检测到此应用程序需要 SQL Server 数据库,并要求你进行配置。Visual Studio has detected that this application requires a SQL Server database and it's asking you to configure it. 选择“配置”。Select Configure.

“发布配置文件摘要”页:配置 SQL Server 依赖项

“配置依赖项”对话框随即出现:The Configure dependency dialog appears:

  • 选择“Azure SQL 数据库”。Select Azure SQL Database.
  • 选择“下一步”。Select Next.

“配置 SQL Server 依赖项”对话框

在“配置 Azure SQL 数据库”对话框中选择“创建 SQL 数据库”In the Configure Azure SQL database dialog select Create a SQL Database

“配置 Azure SQL 数据库”对话框

随即出现“创建 Azure SQL 数据库”:The Create Azure SQL Database appears:

  • “数据库名称”、“资源组”、“数据库服务器”、“应用服务计划”输入字段已填充。The Database name, Resource Group, Database server and App Service Plan entry fields are populated. 可以保留这些值,也可以进行更改。You can keep these values or change them.
  • 为所选“数据库服务器”输入“数据库管理员用户名”和“数据库管理员密码”(请注意,你使用的帐户必须具有创建新 Azure SQL 数据库所需的权限)Enter the Database administrator username and Database administrator password for the selected Database server (note the account you use must have the necessary permissions to create the new Azure SQL database)
  • 选择“创建”。Select Create.

“新建 Azure SQL 数据库”对话框

创建完成后,对话框将自动关闭,“配置 Azure SQL 数据库”对话框将再次成为焦点:After creation is completed the dialog is automatically closed and the Configure Azure SQL Database dialog gets focus again:

  • 将自动选择刚创建的新实例。The new instance that was just created is automatically selected.
  • 选择“下一步”。Select Next.

“配置 Azure SQL 数据库”对话框

在“配置 Azure SQL 数据库”对话框的下一步中:In the next step of the Configure Azure SQL Database dialog:

  • 输入“数据库连接用户名”和“数据库连接密码”字段。Enter the Database connection user name and Database connection password fields. 应用程序将使用这些详细信息在运行时连接到数据库。These are the details your application will use to connect to the database at runtime. 最佳做法是,避免使用与上一步中的管理员用户名和密码相同的详细信息。Best practice is to avoid using the same details as the admin username & password used in the previous step.
  • 选择“完成”。Select Finish.

“配置 Azure SQL 数据库”对话框,连接字符串详细信息

在“发布配置文件摘要”页中选择“设置”:In the Publish Profile summary page select Settings:

“发布配置文件摘要”页:编辑设置

在“发布”对话框的“设置”页面上 :On the Settings page of the Publish dialog:

  • 展开“数据库”并选中“在运行时使用此连接字符串” 。Expand Databases and check Use this connection string at runtime.

  • 展开“Entity Framework 迁移”并选中“在发布时应用此迁移” 。Expand Entity Framework Migrations and check Apply this migration on publish.

  • 选择“保存”。Select Save. Visual Studio 将返回到“发布”对话框。Visual Studio returns to the Publish dialog.

“发布”对话框:设置面板

单击“发布” 。Click Publish. Visual Studio 将应用发布到 Azure。Visual Studio publishes your app to Azure. 部署完成时,应用在浏览器中打开。When the deployment completes, the app is opened in a browser.

“发布”对话框:设置面板

更新应用Update the app

  • 编辑 Pages/Index.cshtml Razor 页并更改其内容。Edit the Pages/Index.cshtml Razor page and change its contents. 例如,可以将段落修改为显示“Hello ASP.NET Core!”:For example, you can modify the paragraph to say "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>
    
  • 再次选择“发布配置文件摘要”页中的“发布”。Select Publish from the Publish Profile summary page again.

“发布配置文件摘要”页

  • 应用发布后,验证所做的更改在 Azure 上是否可用。After the app is published, verify the changes you made are available on Azure.

验证任务已完成

清理Clean up

完成应用测试后,转到 Azure 门户并删除该应用。When you have finished testing the app, go to the Azure portal and delete the app.

  • 选择“资源组”,然后选择所创建的资源组。Select Resource groups, then select the resource group you created.

Azure 门户:侧边栏菜单中的资源组

  • 在“资源组”页面中,选择“删除” 。In the Resource groups page, select Delete.

Azure 门户:“资源组”页

  • 输入资源组的名称并选择“删除”。Enter the name of the resource group and select Delete. 现已从 Azure 中删除了本教程中创建的应用和其他所有资源。Your app and all other resources created in this tutorial are now deleted from Azure.

后续步骤Next steps

其他资源Additional resources