SharePoint 封裝和部署疑難排解
這個主題涵蓋您在封裝和部署 SharePoint 方案時可能會遇到的各種問題。
這個主題包含下列章節。
- 啟用增強型偵錯
- 將專案輸出加入至方案套件
- 驗證警告和錯誤
- 部署衝突解決方式
- F5 部署之間的差異
- 部署視覺 Web 組件時延遲顯示 SharePoint 頁面
- SharePoint 專案部署因「無法擷取方案中的封包檔」錯誤而失敗
- 在不同 Web 應用程式上將視覺 Web 組件部署至網站時,出現錯誤
- 當部署巢狀使用者控制項時出現警告
- 相關主題
啟用增強型偵錯
若要在 Visual Studio、SharePoint 和其他圖層之間進行診斷,您可以使用 EnableDiagnostics 登錄機碼來檢視堆疊追蹤。 如需詳細資訊,請參閱對 SharePoint 方案進行偵錯。
將專案輸出加入至方案套件
您可以透過 [封裝設計工具] 將專案輸出加入至套件。 然而,當您加入專案輸出時,要確定專案的平台與 SharePoint 方案的平台相符。 我們建議您針對要部署至 SharePoint 伺服器的組件使用 [任何 CPU] 平台目標。 如需詳細資訊,請參閱進階編譯器設定對話方塊 (Visual Basic) 或專案設計工具、建置頁 (C#)。
驗證警告和錯誤
Visual Studio 中的 SharePoint 開發工具會執行驗證步驟,來驗證方案套件的格式是否正確。 您也可以為您的「功能」和套件建立自訂驗證步驟。 如需詳細資訊,請參閱 HOW TO:建立 SharePoint 方案的自訂功能和封裝驗證規則。
部署衝突解決方式
當您部署 SharePoint 方案時,可能會在伺服器上項目與方案套件中項目具有相同名稱、URL 或 ID 的情況中發現衝突。 您可以變更 [部署衝突解決方式] 屬性,來解決、報告或忽略模組、Web 組件、清單執行個體和內容類型的衝突。
下表示範 [部署衝突解決方式] 屬性的設定。
值 |
說明 |
---|---|
自動 |
偵測到衝突並自動解決衝突。 |
提示 |
偵測到衝突,並在解決衝突之前將其報告給開發人員。 |
無 |
未偵測到衝突。 |
F5 部署之間的差異
當您使用 Visual Studio 將 SharePoint 專案部署至本機 SharePoint 伺服器來進行測試和偵錯時,Visual Studio 還會執行一些額外步驟。
部署步驟期間重設「網際網路資訊服務」(IIS)。
自動關聯工作流程。
根據 [封裝設計工具] 中的階層,設定功能啟動順序。
您可以加入自訂部署步驟,來進一步變更 F5 行為。 如需詳細資訊,請參閱逐步解說:建立 SharePoint 專案的自訂部署步驟。
部署視覺 Web 組件時延遲顯示 SharePoint 頁面
將視覺 Web 組件部署至 Windows Vista 或 Windows Server 2008 上的 Bin 資料夾時,會花費很長時間才會出現 SharePoint 頁面。 如果您變更最上層 ASP.NET 目錄 (例如,Bin 目錄) 中的任何檔案,則會重新編譯整個 Web 應用程式。 這樣會導致 SharePoint 頁面的呈現存在長達 25 秒的延遲。
錯誤訊息
無。
解決方式
若要解決這個問題,請執行下列步驟:
安裝 Microsoft 支援文章 FIX:Hotfix 可以在 Windows Vista 和 Windows Server 2008 的 IIS 7.0 上修正 ASP.NET 中的兩個問題 (英文) 中所概述的 Hotfix QFE KB967535。
將下列行加入至 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 元素 '[Control Name]' 不是已知的元素。 當網站中發生編譯錯誤或 web.config 檔案遺失時,就會發生這個狀況。
解決方式
如果 Visual Studio 專案系統未能感知巢狀使用者控制項,它就無法提供 Intellisense 而且會發出警告。 如果未建置專案而且設計工具並未關閉及重新開啟,或者已啟用自動撤銷選項 (這樣會在偵錯之後從 SharePoint 登錄區撤銷使用者控制項),則專案系統不會感知巢狀使用者控制項。
若要移除這項警告,請建置專案,然後關閉設計工具再重新開啟,或者停用專案的自動撤銷選項。 若要這樣做,請在專案屬性對話方塊的 [SharePoint] 索引標籤上,清除 [偵錯後自動撤銷] 核取方塊。