本文介绍如何将第一个 ASP.NET Web 应用发布到各种位置,包括本地 Web 服务器(如 IIS)和远程云环境(如 Azure 应用服务)。
本文支持 ASP.NET 和 ASP.NET Core。
先决条件
需要安装含有 ASP.NET 和 Web 开发工作负载的 Visual Studio。
如果已安装 Visual Studio:
- 选择“帮助”>“检查更新”,在 Visual Studio 中安装最新更新。
- 选择“工具”>“获取工具和功能”,添加工作负载。
入门
在解决方案资源管理器中,右键单击项目,选择“发布”。

如果首次发布此 Web 应用,则接下来会看到“发布”向导。

备注
Visual Studio 根据 Web 应用的类型筛选目标列表。
将 Web 应用发布到 Docker 容器注册表
可以将 Web 应用作为 Docker 容器发布到任何兼容的 Docker 容器注册表。

单击 “下一步” 并从可用选项中进行选择,例如 Azure 容器注册表或 Docker 中心。

Azure 容器注册表
接下来,对于 Azure 容器注册表,选择现有实例或创建新的实例。

Docker 中心
接下来,对于 Docker Hub,请提供发布凭据。

其他 Docker 容器注册表
接下来,对于其他 Docker 容器注册表,请提供 URI 并发布凭据。

完成发布向导
接下来,你将看到刚刚使用发布向导创建的新发布配置文件的摘要页面。 单击 发布,Visual Studio 将 Web 应用部署到指定的 Docker 容器注册表。
显示摘要页的 
备注
上面的屏幕截图显示了面向 Azure Docker 注册表的发布配置文件,但所有三个 Docker 容器注册表选项都提供了相同的“发布”按钮。
将 Web 应用发布到文件夹
可以将 Web 应用发布到本地文件夹和网络文件夹。

首先,提供路径,然后单击“完成”以完成发布向导。

接下来,你将看到刚刚使用发布向导创建的新发布配置文件的摘要页面。 单击 发布,Visual Studio 会将 Web 应用部署到提供的路径。

关闭此摘要页后,可以返回到此摘要页。 下次右键单击并选择 发布时,Visual Studio 将打开此摘要页。 (若要返回到发布向导,只需单击摘要页面中的“新建”即可。)
将 Web 应用发布到 FTP/FTPS 服务器
可以使用 FTP 或 FTPS 发布 Web 应用。

提供必要的连接详细信息,然后选择“完成”。

接下来,你将看到刚刚使用发布向导创建的新发布配置文件的摘要页面。 单击“发布,Visual Studio 会将 Web 应用部署到提供的 FTP 或 FTPS 服务器。

关闭此摘要页后,可以返回到此摘要页。 下次右键单击并发布时,Visual Studio 将打开此摘要页。 (若要返回到发布向导,只需单击摘要页面中的“新建”即可。)
将 Web 应用发布到 Web 服务器(IIS)
如果 IIS 已配置,则可以将 Web 应用发布到 IIS。 默认情况下,IIS Express 已安装,但如果要从 Visual Studio 部署到 IIS,则应安装 IIS 管理工具。 请注意,无需以管理员身份运行 Visual Studio 即可部署到 IIS Express,而只需要运行到完整的 IIS。
在远程 Web 服务器上,安装 Web 管理服务。 请务必按照此处的说明启用远程连接,并确保服务已启动,设置凭据以远程管理 Web 服务器,并在尝试部署之前对其进行验证。 本地 IIS 部署不需要 Web 管理服务。
在 Web 服务器上,安装“IIS 6 元数据库兼容性”。 在 Windows 设置中,在 程序和功能下,选择 打开或关闭 Windows 功能。 然后在 Internet Information Services>Web 管理工具下,安装 IIS 6 管理兼容性。 确保已选择“IIS 元数据库”和“IIS 6 配置兼容性”。
若要为 ASP.NET Core 应用程序配置 IIS,请安装 .NET Core 托管捆绑包安装程序(直接下载)。 有关详细信息,请参阅 .NET Core 托管捆绑包。
如果使用的是 ASP.NET 4.8 或更早版本,或者需要在 Windows Server 上配置 IIS 进行发布,则可以在远程调试远程 IIS 计算机上的 ASP.NET 中找到详细步骤;对于 ASP.NET Core,请参阅远程调试远程 IIS 计算机上的 ASP.NET Core。
警告
必须考虑到安全最佳做法来配置 Web 服务器。 有关建议的安全做法,请参阅 IIS 文档。 有关 IIS 8,请参阅 IIS 8 安全最佳做法。
发布到 IIS Web 服务器
选择“发布”,然后选择“Web 服务器(IIS)”。

选择所需的部署模式。 选择“Web 部署”以立即将应用程序部署到指定的服务器。 选择“Web 部署包”以创建包含部署项目的打包 zip 文件,供你或其他人稍后使用。

Web 部署
提供必要的连接详细信息,然后选择“完成”。 以下屏幕截图显示了发布到本地开发计算机上安装的默认 IIS 网站(默认网站)的 Web 应用程序,端口 5187 上有端口绑定。 目标 URL 是可选的。 如果未提供,则网站不会在发布时自动启动,并且“发布”屏幕上也不会出现用于访问已发布网站的链接。

首次发布时,请创建用户名和密码。 这些凭据专用于 WebDeploy 部署。 创建它们后,无法在 Visual Studio 中更改它们,但可以在 IIS 中重置它们。 请参阅站点 - 设置凭据对话框。 如果没有密码,可以下载 .publishsettings
文件,然后从中读取。 请参阅 从 IIS导入发布设置。
警告
使用用户名和密码凭据(基本身份验证)并不是最安全的身份验证方法。 尽可能使用替代方法。 例如,请考虑使用 Visual Studio 发布一个包,然后使用命令行中的 WebDeploy.exe 部署这个包。 使用此方法,可以使用 IIS 管理器配置可以发布到 Web 服务器的授权 Windows 用户,并在该 Windows 用户帐户下运行 WebDeploy.exe。 请参阅在 IIS 8.0 或更高版本上安装和配置 Web 部署。 如果使用密码凭据,请确保使用强密码,并保护密码不被泄露或共享。
有关故障排除,请参阅 Web 部署错误代码。
Web 部署包
单击“浏览...” 打开“选择包位置”对话框,并输入要在其中创建包的路径,包括 .zip 文件名。

完成发布向导
接下来,你将看到刚刚使用发布向导创建的新发布配置文件的摘要页面。 单击“发布,Visual Studio 将 Web 应用部署到指定的 IIS 服务器。

后续步骤
管理 Web 应用程序部署的设置。 通过管理设置,可以控制 .NET 部署选项以及行为,例如如何处理部署目标中不属于部署过程的现有文件。 请参阅 管理 Web 部署设置。
相关内容