ASP.NET Web 部署 - 推荐的资源
本主题提供了有关如何使用 Visual Studio 2010、Visual Web Developer 2010 及更高版本将 (将) ASP.NET Web 应用程序发布到 IIS 的文档资源的链接。
如果你知道一篇优秀的博客文章、 stackoverflow 线程或任何其他有用的链接, 请向我们发送一封 包含该链接的电子邮件。
注意
其中许多资源描述的部署功能仅在安装 Visual Studio Web 发布更新的最新版本时才可用。 某些功能仅在 Visual Studio 2012 或 Visual Studio 2013 中可用。
本主题包含以下各节:
- 了解 Web 项目的部署选项
- 查找 ASP.NET 应用程序的托管提供程序
- 从 Visual Studio 部署 Web 应用程序
- 通过创建和安装 Web 部署包来部署 Web 应用程序
- 使用持续集成 (CI) 过程部署 Web 应用程序
- 在部署期间使用 Web.config 转换更改目标 Web.config 文件或 app.config 文件中的设置
- 在部署期间使用 Web 部署参数更改目标 Web 应用程序中的设置
- 确保应用程序在部署期间处于下线状态
- 在 Web 应用程序部署过程中部署数据库或更改数据库
- 独立于 Web 应用程序部署部署数据库
- 部署使用 ASP.NET 应用程序服务(例如成员身份和分析)的 Web 应用程序
- 预编译以用于部署
- 部署 Intranet Web 应用程序
- 自动执行非现成自动化的常见部署任务
- 配置 Web 服务器,以便开发人员可以使用 Web 部署向其部署 Web 应用程序
- 为托管提供程序配置服务器
- 排查部署问题
- 获取有关特定部署问题的帮助
- 其他资源
了解 Web 项目的部署选项
- Visual Studio 和 ASP.NET (MSDN) 的 Web 部署概述。
- 如何部署 Windows Azure 网站。 介绍用于将 Web 项目部署到 Windows Azure 网站的选项和资源链接,包括从源代码管理) 以及使用 Visual Studio 自动实现的持续交付 (。
- Visual Studio 2012 Web Publishing Improvements (Video by Scott Hanselman) 。
- VS 2010 中的 Web 部署概述文章 (Vishal Joshi 的博客) 。 较旧的博客文章,但它链接到的一些 Visual Studio 2010 资源包含仍与 Visual Studio 2012 相关的信息。
查找 ASP.NET 应用程序的托管提供程序
从 Visual Studio 部署 Web 应用程序
- 如何部署 Windows Azure 网站。 介绍选项并提供用于将 Web 项目部署到 Windows Azure 网站的资源链接。 包括有关从 Visual Studio 进行部署的部分。
- 使用 Visual Studio ASP.NET Web 部署。 教程系列由 12 部分组成,介绍如何使用SQL Server数据库部署 Web 应用程序。 对于数据库部署,同时使用 dbDacFx 提供程序和Entity Framework Code First 迁移。 还包括 有关Web.config 文件转换、 部署单个文件、 命令行部署以及如何 通过编辑 .pubxml 文件自定义 Visual Studio Web 发布管道的信息。 适用于所有 ASP.NET Web 项目,包括 Web Forms、MVC 和 Web API.)
- 如何:在 Visual Studio 中使用 One-Click 发布部署 Web 项目 (Visual Studio Web 发布向导的参考信息。)
- 使用 Visual Studio 使用 SQL Server Compact 部署 ASP.NET Web 应用程序。 这是本部分顶部列出的 使用 Visual Studio ASP.NET Web 部署 的早期版本。 现在主要适用于有关如何部署SQL Server Compact数据库以及如何从SQL Server Compact迁移到完整版SQL Server的信息。
- .NET 多层应用程序使用存储表、队列和 Blob (Microsoft Azure 站点) 。 教程系列由 5 部分组成,演示如何创建 MVC 项目并将其部署到 Windows Azure 云服务。
通过创建和安装 Web 部署包来部署 Web 应用程序
- 如何:在 Visual Studio (MSDN) 中创建 Web 部署包。
- 如何:使用 Visual Studio (MSDN) 创建的 deploy.cmd 文件安装部署包 。
- 使用 Web 部署包部署到开发箱上的 IIS 和第三方主机 , (Sayed Hashimi 的博客) 。 如何使用 IIS 管理器在本地计算机和支持 IIS Manager 进行远程管理的托管公司安装 IIS 中的部署包。
- 从 Visual Studio 2010 生成 Web 部署包 (IIS.NET 网站) 。 包括命令行包创建和安装的说明。
- 包一次发布在任何地方 (Sayed Hashimi 的博客) 。 引入了一个 NuGet 包,该包可自动转换多个目标环境的 Web.config 文件的过程,以便可以将一个包部署到多个服务器。 另请参阅 Sayed Hashimi 的 PackageWeb 视频 。
另请参阅以下部分。
使用持续集成 (CI) 过程部署 Web 应用程序
- 持续集成和持续交付 (使用 Windows Azure) 生成 Real-World 云应用。 介绍持续集成和持续交付的电子书章节。
- 如何部署 Windows Azure 网站。 介绍用于将 Web 项目部署到 Windows Azure 网站的选项和资源链接。 包含有关从源代码管理自动部署的部分。
- 在企业方案中部署 Web 应用程序。 由 40 部分组成的教程系列介绍如何使用 Visual Studio 2010 和 Team Foundation Server 2010 在 CI 进程中自动部署。
- 在Microsoft 生成引擎:使用 MSBuild 和 Team Foundation Build,由 Sayed Hashimi 和 William Bartholomew。 这是一本书籍,而不是 Web 资源,但它是学习如何为持续集成方案配置 MSBuild 的重要指南。
- MSBuild 扩展包。 包括部署任务。
- Team Foundation 生成自定义指南。 ALM Rangers 关于设置 Team Foundation Server 的文档涵盖了 Web 部署,包括教程和视频。
- SlowCheetah XML 从 CI 服务器转换 (Sayed Hashimi 的博客) 。 介绍如何使用 SlowCheetah(Visual Studio 加载项)转换 app.config 和其他 XML 文件。
另请参阅本页后面的 确保应用程序在部署期间处于下线 状态。
在部署期间使用 Web.config 转换更改目标 Web.config 文件或 app.config 文件中的设置
- Web.config 文件转换。
- 使用 Visual Studio (MSDN) 部署 Web 项目Web.config 转换语法 。
- Web 工具 2012.2 - web.config 转换 由 Sayed Hashimi) (YouTube 视频。 演示如何设置和预览 Web.config 转换。
- 如何实现禁用 Web.config 转换? (MSDN) 。
- 何时应使用 Web 部署参数而不是 Web.config 转换? (MSDN) 。
- XDT (XML 文档转换) codeplex.com (.NET Web 开发和工具博客) 上发布。 宣布 Web.config 文件转换引擎的源代码的可用性,并列出一些使用它的工具。
- Windows Azure 网站:应用程序字符串和连接字符串的工作原理 (Microsoft Azure 博客) 。 如果目标环境是 Windows Azure 网站,并且你想要转换 或
connectionStrings
,则 Web.config 转换appSettings
的替代方法。
在部署期间使用 Web 部署参数更改目标 Web 应用程序中的设置
- 如何:在 WEB 部署包中使用 Web 部署参数 (MSDN) 。
- MSDeploy:如何根据发布配置文件更新应用设置 , (Sayed Hashimi 的博客) 。 演示如何将 Web 部署参数集成到 Visual Studio 发布配置文件中。
- Web 部署参数化 (IIS.NET 网站) 。
- Web 部署参数化在操作 ( Vishal Joshi 的博客) 。
- Web 部署参数化与 Web.config 转换 (Vishal Joshi 的博客) 。
- Windows Azure 网站:应用程序字符串和连接字符串的工作原理 (Microsoft Azure 博客) 。 如果目标环境是 Windows Azure 网站,并且你想要参数化
appSettings
或connectionStrings
,则为 Web 部署参数的替代方法。
确保应用程序在部署期间处于下线状态
- 使用 Visual Studio ASP.NET Web 部署:部署代码更新。 请参阅在 部署期间使应用程序脱机部分。
- 在发布 (IIS.net 网站之前使应用程序脱机) 。 介绍 Web 部署 3.0 中内置的一项功能,该功能可自动处理 app_offline.htm 文件。 此功能不适用于自定义 app_offline.htm 文件。
- 如何在发布 Web 应用期间脱机 (Sayed Hashimi 的博客) 。 如何自动执行使用自定义 app_offline.htm 文件的过程。
- 应用脱机和 usechecksum (Microsoft Web 开发博客) 的 Web 发布更新。 自动使用 app_offline.htm 文件的另一个选项。
- Web 部署 3.5 RTW (IIS.net 站点) 。 Web Deploy 3.5 中用于自定义 app_offline.htm 文件的新功能。
在 Web 应用程序部署过程中部署数据库或更改数据库
- 在 Visual Studio 中配置数据库部署 (MSDN) 。 使用 Web 项目部署数据库的选项概述。
- 使用 Visual Studio ASP.NET Web 部署。 教程系列由 12 部分组成,介绍如何使用 dbDacFx 提供程序和Entity Framework Code First 迁移进行数据库部署。
- 如何:在 Visual Studio 中使用 One-Click Publish (MSDN) 部署 Web 项目。
- 将具有成员资格、OAuth 和SQL 数据库的安全 ASP.NET MVC 5 应用部署到 Windows Azure 网站。 一篇长教程,介绍如何生成和部署使用单个SQL Server数据库作为成员身份和应用程序数据的应用程序。
- 使用 Visual Studio 通过 SQL Server Compact 部署 ASP.NET Web 应用程序。 教程系列由 12 部分组成,介绍如何部署SQL Server Compact数据库,以及如何从 SQL Server Compact 迁移到完整版SQL Server。
另请参阅本页前面的通过创建和安装 Web 部署包来部署 Web 应用程序和使用持续集成 (CI) 过程部署 Web 应用程序。
将数据库与 Web 应用程序部署分开部署
- SQL Server Data Tools (MSDN) 。
- 在SQL Server数据库项目中包含数据 (SQL Server Data Tools 团队博客) 。 如何在部署数据库时部署架构和数据。
- 如何将数据库部署到 Windows Azure (Microsoft Azure 站点)
- 将数据库迁移到 Windows Azure SQL 数据库 (以前SQL Azure) (MSDN) 。
- 使用 SSDT 将数据库迁移到 SQL Azure (SQL Server Data Tools 团队博客) 。
- 将 Data-Centric 应用程序迁移到 Windows Azure (MSDN) 。
- 将SQL Server数据库迁移到 Windows Azure SQL 数据库 (MSDN) 。
部署使用 ASP.NET 应用程序服务(例如成员身份和分析)的 Web 应用程序
- 将具有成员资格、OAuth 和SQL 数据库的安全 ASP.NET MVC 5 应用部署到 Windows Azure 网站。 一篇长教程,介绍如何生成和部署使用单个SQL Server数据库作为成员身份和应用程序数据的应用程序。
- ASP.NET 标识。 ASP.NET 标识的资源。
- 使用 Visual Studio ASP.NET Web 部署。 教程系列由 12 部分组成,介绍如何部署 ASP.NET 成员资格数据库。
- 配置使用应用程序服务的网站。 对于网站项目,但也与 Web 应用程序项目相关。
- 生产网站上的用户和角色。 对于网站项目,但也与 Web 应用程序项目相关。
预编译以用于部署
- ASP.NET Web 应用程序项目预编译概述 (MSDN) 。
- “包/发布 Web”选项卡、“项目属性 ” (MSDN) 。
- MSDN) (“高级预编译设置”对话框。
部署 Intranet Web 应用程序
- 使用 Vittorio Bertocci.) 在 Visual Studio 2013 (博客中将 ADFS) 与 ASP.NET 配合使用的本地组织身份验证选项 (。
- 如何使用 ASP.NET MVC (MSDN) 创建 Intranet 站点。 为 Visual Studio 2010 编写的旧演练并不反映 Visual Studio 2013 中引入的 Intranet 项目模板的重大更改。
自动执行非现成自动化的常见部署任务
- 使用 Visual Studio ASP.NET Web 部署:部署额外文件。
- 设置 Web 发布上的文件夹权限 (Sayed Hashimi 的博客) 。
- 如何扩展目标文件以包含 Web 项目包的注册表设置 (Web 开发工具博客) 。
- 扩展 XML (Web.config) 转换 (Sayed Hashimi 的博客) 。 演示如何创建自定义 XDT 转换。
- Web 部署工具 (MSDeploy) 自定义提供程序采取 1 (Sayed Hashimi 的博客) 。 演示如何创建 Web 部署自定义提供程序。
- 如何打包和部署 COM 组件 (Web 开发工具博客) 。
- 如何打包 .NET 程序集 (Web 开发工具博客) 。 如何将程序集部署到 GAC。
配置 Web 服务器,以便开发人员可以使用 Web 部署向其部署 Web 应用程序
- 为管理员和非管理员部署安装和配置 Web 部署 (IIS.net 站点) 。
为托管提供程序配置服务器
- Microsoft ASP.NET 4 托管部署指南 (Microsoft 下载中心) 。
- (IIS.net 站点) 生成配置文件 XML 文件。
排查部署问题
- Visual Studio 中的 Windows Azure 网站 疑难解答 (Microsoft Azure 站点) 。
- 使用 Visual Studio ASP.NET Web 部署:故障排除。
- 排查 Web 部署的常见问题。
- 网站) (IIS.net Web 部署错误代码。
- Visual Studio 和 ASP.NET (MSDN) 的 Web 部署常见问题解答。
- IIS 与 ASP.NET Development Server 之间的核心差异。
- 开发和生产之间的常见配置差异。
获取有关特定部署问题的帮助
- [ASP.NET 配置和部署论坛] (https://forums.asp.net/26.aspx/1?Configuration 和部署) 。
- StackOverflow.com。
其他资源
本部分提供指向其他资源的链接,这些资源有助于详细了解如何使用 Visual Studio 和 IIS 部署工具。
以下博客经常包含有关 Visual Studio Web 部署的信息:
以下资源提供有关 Web 部署的文档,这是 Visual Studio 用于执行 Web 应用程序项目部署任务的 IIS 框架。 可以在 IIS.net 网站上的 Web 部署工具论坛 中询问有关 Web 部署的问题。
- Web 部署简介。
- 安装和配置 Web 部署。
- 用于自动执行 Web 部署设置的 PowerShell 脚本。
- Web 部署工具。 TechNet 网站上 Web 部署文档的顶级目录节点。 包括有用的参考信息,但大多数 TechNet 页面已多年未更新。
- Microsoft.Web.Deployment 命名空间。 自版本 1.0 起,API 文档尚未更新。
- Microsoft Web 部署团队博客。
- IIS.net 网站中的“发布”选项卡。