Share via


針對 SharePoint 封裝和部署進行疑難排解

這個主題涵蓋您在封裝和部署 SharePoint 方案時可能會遇到的各種問題。

啟用增強的偵錯

若要在 Visual Studio、SharePoint 和其他圖層之間進行診斷,您可以使用 EnableDiagnostics 登錄機碼來檢視堆疊追蹤。 如需詳細資訊,請參閱部署 SharePoint 解決方案 (部分機器翻譯)。

將專案輸出新增至解決方案封裝中

您可以透過 [封裝設計工具] 將專案輸出加入至套件。 然而,當您加入專案輸出時,要確定專案的平台與 SharePoint 方案的平台相符。 我們建議您為要部署至 SharePoint 伺服器的組件使用 Any CPU 平台目標。 如需詳細資訊,請參閱專案設計工具的編譯頁面 (Visual Basic) (部分機器翻譯) 和進階編譯器設定對話方塊 (Visual Basic) (部分機器翻譯)。

驗證警告和錯誤

Visual Studio 中的 SharePoint 開發工具會執行驗證步驟,來驗證方案套件的格式是否正確。 您也可以為您的「功能」和套件建立自訂驗證步驟。 如需詳細資訊,請參閱作法:建立 SharePoint 解決方案的自訂功能和封裝驗證規則 (英文)。

部署衝突解決

當您部署 SharePoint 方案時,可能會在伺服器上項目與方案套件中項目具有相同名稱、URL 或 ID 的情況中發現衝突。 您可以變更 [部署衝突解決] 屬性,來解決、報告或忽略模組、Web 組件、清單執行個體和內容類型的衝突。

下表示範 [部署衝突解決] 屬性的設定。

描述
自動 偵測到衝突並自動解決衝突。
提示 偵測到衝突,並在解決衝突之前將其報告給開發人員。
未偵測到衝突。

F5 部署之間的差異

當您使用 Visual Studio 來將 SharePoint 專案部署至本機 SharePoint 伺服器以進行測試和偵錯時,有些額外步驟會由 Visual Studio 執行。

  1. 部署步驟期間重設「網際網路資訊服務」(IIS)。

  2. 自動關聯工作流程。

  3. 根據 [封裝設計工具] 中的階層,設定功能啟動順序。

    您可以新增自訂部署步驟,來進一步變更 F5 行為。 如需資訊,請參閱逐步解說:建立 SharePoint 專案的自訂部署步驟

部署視覺效果 Web 組件時延遲顯示 SharePoint 頁面

將視覺效果 Web 組件部署至 Windows Vista、Windows 7 或 Windows Server 2008 上的 Bin 資料夾時,會花費很長時間才會顯示 SharePoint 頁面。 如果您變更最上層 ASP.NET 目錄 (例如,Bin 目錄) 中的任何檔案,則會重新編譯整個 Web 應用程式。 這樣會導致 SharePoint 頁面的呈現存在長達 25 秒的延遲。

錯誤訊息

無。

解決方案

若要解決這個問題,請執行下列步驟:

  1. 安裝 Microsoft 支援服務文章 FIX 中所述的更新 KB967535:可以使用 Hotfix 在 Windows Vista 和 Windows Server 2008 的 IIS 7.0 上來修正 ASP.NET 中的兩個問題。

  2. 將下列行加入至 Web.config 檔案:

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

SharePoint 專案部署因「無法擷取解決方案中的封包檔」錯誤而失敗

如果有任何 SharePoint 專案項目的名稱中包含括號,其方案的部署即會因錯誤而失敗。

錯誤訊息

部署步驟「加入方案」中發生錯誤:無法擷取方案中的封包檔。

解決方案

若要解決這個問題,請移除 SharePoint 專案項目名稱中的括號。

在不同 Web 應用程式上將視覺效果 Web 組件部署至網站時,出現錯誤

當您第一次在非目前用來進行部署的 Web 應用程式上將視覺 Web 組件部署至網站時 (藉由變更視覺 Web 組件的 SiteUrl 屬性),會出現錯誤。

錯誤訊息

部署步驟「加入方案」中發生錯誤:識別碼為 [#] 的功能已經安裝在此伺服器陣列中。 請使用強制屬性明確重新安裝功能。

解決方案

這個錯誤是由於在 SharePoint 中撤銷視覺 Web 組件功能的方式不當所致。 若要成功部署視覺效果 Web 組件,請選擇 F5 鍵重新部署解決方案。

當部署巢狀使用者控制項時出現警告

當您部署具有巢狀使用者控制項 (例如包含使用者控制項的視覺 Web 組件或是包含視覺 Web 組件或另一個使用者控制項的使用者控制項) 的 SharePoint 方案時,將會發生這個警告。 不論您是從工具箱拖曳控制項或是在來源檢視中使用 @Register 指示詞來將控制項新增至設計工具中,都會發生這個警告。

錯誤訊息

警告 1 元素 '[控制項名稱]' 不是已知的元素。 當網站中發生編譯錯誤或 web.config 檔案遺失時,就會發生這個狀況。

解決方案

如果 Visual Studio 專案系統未能感知巢狀使用者控制項,它就無法提供 IntelliSense 而且會發出警告。 如果未建置專案而且設計工具並未關閉及重新開啟,或者已啟用自動撤銷選項 (這樣會在偵錯之後從 SharePoint Hive 撤銷使用者控制項),則專案系統不會感知巢狀使用者控制項。

若要移除這項警告,請建置專案,然後關閉設計工具再重新開啟,或者停用專案的自動撤銷選項。 若要這樣做,請在專案屬性對話方塊的 [SharePoint] 索引標籤上,清除 [偵錯後自動撤銷] 核取方塊。