SharePoint 打包和部署疑难解答

本主题论述了您在打包和部署 SharePoint 解决方案时可能遇到的各种问题。

启用增强型调试

若要在 Visual Studio、SharePoint 和其他层之间进行诊断,您可以使用 EnableDiagnostics 注册表项来查看堆栈跟踪。 有关详细信息,请参阅调试 SharePoint 解决方案

向解决方案包中添加项目输出

可以通过包设计器向包中添加项目输出。 但是,在添加项目输出时,请确保项目的平台与 SharePoint 解决方案的平台匹配。 我们建议你为要部署到 SharePoint 服务器的程序集使用“Any CPU”平台目标。 有关详细信息,请参阅“编译”页、项目设计器 (Visual Basic)“高级编译器设置”对话框 (Visual Basic)

验证警告和错误

Visual Studio 中的 SharePoint 开发工具将执行验证步骤来验证解决方案包的格式是否正确。 也可以为功能和包创建自定义验证步骤。 有关详细信息,请参阅如何:为 SharePoint 解决方案创建自定义功能和包验证规则

部署冲突解决方法

在部署 SharePoint 解决方案时,当服务器上的项与解决方案包中的项具有相同的名称、URL 或 ID 时,您可能会发现冲突。 你可以更改“部署冲突解决方法”属性,以解决、报告或忽略模块、Web 部件、列表实例和内容类型的冲突。

下表演示了“部署冲突解决方法”属性的设置。

说明
自动 自动检测冲突和解决冲突。
Prompt 检测冲突并在解决冲突之前向开发人员报告冲突。
不检测冲突。

F5 部署之间的区别

当你使用 Visual Studio 将 SharePoint 项目部署到本地 SharePoint 服务器进行测试和调试时,Visual Studio 将执行一些其他步骤。

  1. 在部署步骤过程中重置 Internet Information Services (IIS)。

  2. 自动关联工作流。

  3. 根据包设计器中的层次结构设置功能激活顺序。

    可以添加自定义部署步骤来进一步更改 F5 行为。 有关更多信息,请参阅演练:为 SharePoint 项目创建自定义部署步骤

部署可视 Web 部件时延迟显示 SharePoint 页面

在 Windows Vista、Windows 7 或 Windows Server 2008 上将可视 Web 部件部署到 Bin 文件夹时,SharePoint 页需要很长时间才会显示。 如果更改顶级 ASP.NET 目录(例如 Bin 目录)中的任何文件,则整个 Web 应用程序将重新编译。 这可能会导致 SharePoint 页延迟长达 25 秒才会呈现。

错误消息

无。

解决方法

若要解决此问题,请执行以下步骤:

  1. 安装 Microsoft 支持文章修复:已提供针对 Windows Vista 和 Windows Server 2008 在 IIS 7.0 上修复 ASP.NET 中的两个问题的修补程序中列出的更新 KB967535。

  2. 将以下行添加到 Web.config 文件中:

    <compilation batch="false" optimizeCompilations="true">
    

SharePoint 项目部署失败,并返回错误“未能提取解决方案中的 cab 文件”

如果任何 SharePoint 项目项的名称包含括号,则该项目项的解决方案将无法部署,并返回一个错误。

错误消息

在‘添加解决方案’这一部署步骤中发生错误:“未能提取解决方案中的 cab 文件”。

解决方法

若要解决此问题,请移除 SharePoint 项目项名称中的任何括号。

在向另一个 Web 应用程序上的网站部署可视 Web 部件时出现错误

首次将可视 Web 部件部署到 Web 应用程序上当前已部署该部件的网站之外的另一个网站时(通过更改可视 Web 部件的 SiteUrl 属性),会收到错误。

错误消息

在‘添加解决方案’这一部署步骤中发生错误:“已在该场中安装 ID 为 [#] 的功能”。 使用强制特性显式重新安装此功能。

解决方法

此错误因 SharePoint 中收回可视 Web 部件功能的方式导致发生。 若要成功部署可视 Web 部件,请选择 F5 键重新部署解决方案。

部署嵌套用户控件时出现警告

在你部署包含嵌套用户控件(如包含用户控件的可视 Web 部件或包含可视 Web 部件或其他用户控件的用户控件)的 SharePoint 解决方案时会出现此警告。 无论通过以下哪种方式向设计器添加控件,都会出现此警告:从工具箱中拖动控件或通过使用源视图中的 @Register 指令。

错误消息

警告 1 元素“[控件名称]”不是已知元素。 如果网站中存在编译错误或缺少 web.config 文件,则会出现此警告。

解决方法

如果 Visual Studio 项目系统无法识别嵌套用户控件,则无法提供 IntelliSense,并会发出警告。 如果未生成项目且设计器在未关闭和重新打开,或者启用了自动收回选项(这会导致在调试后从 SharePoint 收回用户控件),则项目系统将无法识别嵌套用户控件。

若要删除此警告,请生成项目,然后关闭设计器并重新打开设计器,或者禁用项目的自动收回选项。 为此,请在项目属性对话框的“SharePoint”选项卡上清除“调试后自动收回”复选框。