Web 部署故障排除

适用于: Internet 信息服务

本快速指南将帮助你排查 Web 部署 (Web 部署工具) 问题。

先决条件

本指南需要满足以下先决条件:

  • .NET Framework 2.0 SP1 或更高版本
  • Web 部署 1.0 或更高版本

注意

如果尚未安装 Web 部署,请参阅 安装 Web 部署

故障排除操作

操作的第一级验证应为 -whatif 标志。 -whatif 标志将显示运行命令且一切成功时会发生什么情况。 它旨在用作比较标志,不会显示许多错误。 但是,如果操作未按预期进行,并且 -whatif 未发现任何问题,则可以使用 -verbose 标志指定输出设置。 如果需要确定无法同步的内容,并且通常提供有关操作的其他详细信息,这将非常有用。

使用详细输出运行

假设我们正在运行同步操作。 再次运行命令,并指定 了 -verbose

msdeploy.exe -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -verbose >msdeploysync-verbose.log

通过 >msdeploysync-verbose.log指定 ,日志文件中将列出操作的结果和所有额外的信息性警报,你可以轻松地重新引用它。

根据错误,应在日志中查看相关条目。 例如,如果未正确设置某个属性,检查详细的日志记录操作,以了解错过或跳过该属性的原因。

常见错误

无法读取配置文件或类似错误可能是由于在 Windows Server 2008 上从非提升的命令提示符运行。 确保具有用于读取配置、写入配置或注册表设置等操作的管理凭据。

程序集或其他在其路径中包含逗号的对象无法正确同步。 这是一个已知问题,需要在路径周围使用双引号和单引号。 例如,程序集的路径包含逗号,必须经过特殊处理: -source:gacAssembly="'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'"

如果站点未在 IIS 6.0 上设置 ServerComment,则 ABO 映射器组件将无法在 IIS 7.0 及更高版本上识别它们,并且无法正确迁移它们。

如果在尝试访问与 IIS 相关的提供程序(如 metakey 或 apphostconfig)时未在源或目标计算机上安装 IIS,则可能会收到以下错误消息:

Retrieving the COM class factory for component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} failed due to the following error: 80040154.

远程服务错误

404 找不到远程文件:远程服务未安装或未运行,或者 URL 不正确。 这是一项手动启动服务,因此请确保它正在运行。

与远程计算机的连接超时或返回超时错误。 验证远程服务的端口在目标计算机上是否已打开。 如果打开,请重新尝试该命令。 重试后,它可能会起作用。