使用 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 发布到 AzureSee Publish to Azure from Visual Studio for Mac if you are working on macOS.

若要对应用服务部署问题进行故障排除,请参阅 <xref:host-and-deploy/azure-apps/troubleshoot>。To troubleshoot an App Service deployment issue, see <xref:host-and-deploy/azure-apps/troubleshoot>.

设置Set up

创建 Web 应用Create a web app

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

“文件”菜单

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

  • 在左侧窗格中,选择“.NET Core” 。In the left pane, select .NET Core.
  • 在中间窗格中,选择“ASP.NET Core Web 应用程序” 。In the center pane, select ASP.NET Core Web Application.
  • 选择“确定” 。Select OK.

“新建项目”对话框

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

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

“新建项目”对话框

“更改身份验证”对话框随即出现 。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 OK again.

“新建 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 About and Contact links.

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:

    “内部服务器错误:处理请求时,数据库操作失败。SQL 异常:无法打开数据库。可通过向应用程序数据库上下文应用现有迁移解决此问题。”*"Internal Server Error: A database operation failed while processing the request. SQL exception: Cannot open the database. 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 Log out link.

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

将应用部署到 AzureDeploy the app to Azure

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

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

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

  • 选择“Microsoft Azure 应用服务” 。Select Microsoft Azure App Service.
  • 选择齿轮图标,然后选择“创建配置文件” 。Select the gear icon and then select Create Profile.
  • 选择“创建配置文件” 。Select Create Profile.

“发布”对话框

创建 Azure 资源Create Azure resources

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

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

“应用服务”对话框

  • 选择“服务”选项卡以创建新的数据库 。Select the Services tab to create a new database.

  • 选择绿色的 + 图标以创建新的 SQL 数据库 Select the green + icon to create a new SQL Database

新建 SQL 数据库

  • 在“配置 SQL 数据库”对话框中选择“新建...”以创建新的数据库 。Select New... on the Configure SQL Database dialog to create a new database.

新建 SQL 数据库和服务器

“配置 SQL Server”对话框随即出现 。The Configure SQL Server dialog appears.

  • 输入管理员用户名和密码,然后选择“确定” 。Enter an administrator user name and password, and then select OK. 可保留默认的“服务器名称” 。You can keep the default Server Name.

备注

不可使用“admin”作为管理员用户名。"admin" isn't allowed as the administrator user name.

“配置 SQL Server”对话框

  • 选择“确定” 。Select OK.

Visual Studio 将返回到“创建应用服务” 对话框。Visual Studio returns to the Create App Service dialog.

  • 选择“创建应用服务”对话框上的“创建” 。Select Create on the Create App Service dialog.

“配置 SQL 数据库”对话框

Visual Studio 在 Azure 上创建 Web 应用和 SQL Server。Visual Studio creates the Web app and SQL Server on Azure. 此步骤可能需要几分钟。This step can take a few minutes. 有关创建的资源的信息,请参阅其他资源For information on the resources created, see Additional resources.

部署完成时,选择“设置” :When deployment completes, select Settings:

“配置 SQL Server”对话框

在“发布”对话框的“设置”页面上 :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.

在 Azure 中测试应用Test your app in Azure

  • 测试“关于”和“联系”链接 Test the About and Contact links

  • 注册新用户Register a new user

Microsoft Edge 中 Azure App Service 上打开的 Web 应用程序

更新应用Update the app

  • 编辑“Pages/About.cshtml”Razor 页面并更改其内容 。Edit the Pages/About.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 AboutModel
    @{
        ViewData["Title"] = "About";
    }
    <h2>@ViewData["Title"]</h2>
    <h3>@Model.Message</h3>
    
    <p>Hello ASP.NET Core!</p>
    
  • 右键单击项目,然后再次选择“发布...” 。Right-click on the project and select Publish... 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