共用方式為


SharePoint 方案疑難排解

下列問題或警示可能在您使用 Visual Studio 偵錯工具對 SharePoint 方案進行偵錯時發生。 如需詳細資訊,請參閱Debugging SharePoint Workflow Solutions

這個主題包含下列章節。

  • 專案和專案項目名稱的字元限制
  • 建立自訂欄位時發生錯誤
  • 新的非英文網站定義不會在部署之後出現於網站建立頁面中
  • 在乾淨系統上部署工作流程專案時出現錯誤
  • 使用者必須在偵錯期間重新整理瀏覽器中的應用程式頁面來檢視更新影像
  • 錯誤:網站位置無效
  • 在事件接收器專案中未發生網站刪除 Web 事件
  • 在商務資料連接模型專案中變更識別碼的名稱後出現部署錯誤
  • 當您嘗試在 SharePoint 中檢視視覺 Web 組件時出現錯誤
  • 當執行已匯入且可重複使用的工作流程包含工作表單欄位時,便會出現錯誤
  • 當執行已重新命名且匯入的清單執行個體時出現錯誤
  • IIS 終止 SharePoint 偵錯工作階段
  • 自動撤銷會將失去關聯的清單執行個體留在 SharePoint 中
  • 原始 SharePoint 方案會由匯出的版本所取代
  • 開始偵錯時出現錯誤
  • 相關主題

專案和專案項目名稱的字元限制

專案和專案項目名稱只能包含在 SharePoint 2010 中的部署路徑內有效的字元。 不允許使用其他字元。

錯誤訊息

「無效字元」錯誤訊息。

解決方式

在 SharePoint 專案和專案項目名稱中,只能使用下列字元:

  • 英數 ASCII 字元

  • 空格

  • 句號 (.)

  • 逗號 (,)

  • 底線 (_)

  • 虛線 (-)

  • 反斜線 (\)

在封裝專案時,驗證規則會針對每一個部署的檔案驗證 [部署路徑] 屬性是否只包含這些有效的字元。

建立自訂欄位時發生錯誤

Visual Studio 2010 中的自訂欄位會在 XML 中定義。 如果未使用特定格式來定義或參考欄位,可能會發生錯誤。

錯誤訊息

封裝時的「無效字元」錯誤訊息。

解決方式

欄位定義的識別碼必須是以大括號括住的 GUID。 例如:

<Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
    Type="Note" 
    Name="PatientName" 
    DisplayName="Patient Name" 
    Group="A Custom Group">
</Field>.

內容類型中的欄位參考必須使用空的元素格式 (<FieldRef />) 來定義,而不能使用開始/結束元素 (<FieldRef></FieldRef>) 來定義。 例如:

<FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
    Name="PatientName" 
    DisplayName="Patient Name" 
    Required="TRUE"/>

如果此欄位的來源 XML 有問題,例如格式錯誤或者不是有效的 XML 檔案,則會發生「無法剖析檔案」錯誤。

新的非英文網站定義不會在部署之後出現於網站建立頁面中

使用非英文版本的 Visual Studio 2010 (即具有除 1033 以外之地區設定 ID 的版本) 來建立和部署新的網站定義之後,[SharePoint 自訂] 索引標籤不會出現在 [範本選擇] 方塊中,且新的網站範本不會出現在 [新增 SharePoint 網站] 頁面中。

錯誤訊息

無。

解決方式

發生此問題的原因為 webtemp 網站定義組態檔 (例如,webtemp_SiteDefinitionProject1.xml) 的 [路徑] 屬性值不正確。 在 [部署位置] 下方的 webtemp 檔案 [路徑] 屬性中,將 1033 變更為適當的地區設定 ID。 例如,使用日文地區設定將值變更為 1041。 如需詳細資訊,請參閱 MSDN 網站上的 Microsoft 所指派的地區設定識別碼 (英文)。

在乾淨系統上部署工作流程專案時出現錯誤

如果您在「乾淨系統」(Clean System) 上的 Visual Studio 2010 中部署工作流程專案,會發生此問題。 乾淨系統為具有 Visual Studio 2010 和 SharePoint 全新安裝但是沒有任何已部署工作流程專案的電腦。

錯誤訊息

找不到 SharePoint 清單:工作流程記錄。

解決方式

發生此錯誤的原因為遺漏 [工作流程記錄] 清單。 由於開發環境為乾淨系統,因此未部署任何工作流程,且 [工作流程記錄] 清單尚不存在。 若要解決這個問題,請重新開啟工作流程精靈,這會導致建立 [工作流程記錄] 清單。

若要重新進入工作流程精靈

  1. 在 [方案總管] 中選取工作流程節點。

  2. 在 [屬性] 視窗中,於任何具有省略符號按鈕的屬性上按一下省略符號 (…) 按鈕。

使用者必須在偵錯期間重新整理瀏覽器中的應用程式頁面來檢視更新影像

如果您偵錯的 SharePoint 方案包含具有顯示影像之控制項 (例如,「HTML 影像」控制項) 的應用程式頁面,則您必須在瀏覽器中重新整理該頁面,以顯示對影像所做的任何變更。

錯誤:網站位置無效

這個問題可能在未安裝 SharePoint Server 2010 的情況下發生。 此外也可能在您未具備 [SharePoint 自訂精靈] 中所指定 SharePoint 網站的管理員存取權時發生。

錯誤訊息

  • SharePoint 網站位置無效 (SharePoint site location is not valid)。

解決方式

  • 安裝 SharePoint Server 2010。

  • 確認您具有 SharePoint 網站的管理員存取權。 如需詳細資訊,請參閱 Office Online 文章授與入口網站的存取權 (英文)。

在事件接收器專案中未發生網站刪除 Web 事件

當您建立事件接收器專案,並選取特定的 Web 事件 (例如「正在刪除網站」) 時,事件並未發生。

錯誤訊息

無。

解決方式

之所以發生此問題,是因為功能範圍必須是「網站」才能處理網站層級事件,但事件接收器專案的預設功能範圍是 "Web"。 受影響的 Web 事件包括:

  • 正在刪除網站 (WebDeleting)

  • 已刪除網站 (WebDeleted)

  • 正在移動網站 (WebMoving)

  • 已移動網站 (WebMoved)

若要修正問題,請以下列方式變更事件接收器的功能範圍。

若要變更事件接收器的功能範圍

  1. 在 [功能設計工具] 中開啟事件接收器的功能。 若要執行此動作,請在 [方案總管] 中按兩下其 .feature 檔案。

  2. 按一下 [範圍] 旁邊的下拉箭號。

  3. 選取下拉式清單中的 [網站]。

在商務資料連接模型專案中變更識別碼的名稱後出現部署錯誤

如果您在商務資料連接 (BDC) 模型中變更某個實體的識別碼名稱,然後嘗試部署方案,就會發生此問題。

錯誤訊息

  • <模型名稱> 有下列外部內容類型啟用錯誤 ...

  • 名稱為 '<模型名稱>' 的 IMetadataObject 在 [名稱] 欄位中有重複的值...

解決方式

若要解決這個問題,請手動刪除模型,然後重新部署方案。 您可以使用下列其中一種工具來刪除模型:

  • SharePoint 2010 管理中心。 如需詳細資訊,請參閱 Microsoft TechNet 網站上的管理 BDC 模型

  • Windows PowerShell。 您可在命令提示字元輸入此命令來刪除模型:Remove-SPBusinessDataCatalogModel。 如需詳細資訊,請參閱 Microsoft TechNet 網站上的一般 Cmdlet (SharePoint Server 2010)

當您嘗試在 SharePoint 中檢視視覺 Web 組件時出現錯誤

當使用者控制項的 [路徑] 屬性不是以 "CONTROLTEMPLATES\" 字串當做開頭時,就會發生這個問題。

錯誤訊息

  • '/_CONTROLTEMPLATES/<專案名稱>/<Web 組件名稱>/<使用者控制項名稱>.ascx' 檔案不存在。

  • '/' 應用程式中的伺服器錯誤。

解決方式

若要解決這個問題

  1. 在 [方案總管] 中,選取使用者控制項檔案。 這個檔案的副檔名為 .ascx。

  2. 在 [檢視] 功能表中,按一下 [屬性視窗]。

  3. 在 [屬性] 視窗中展開 [部署位置] 節點。

  4. 確定 [路徑] 屬性的值是以 "CONTROLTEMPLATES\" 字串當做開頭。

當執行已匯入且可重複使用的工作流程包含工作表單欄位時,便會出現錯誤

當您匯入的工作流程包含具有欄位的工作表單,然後您從匯入它的相同系統上執行新的工作流程時,就會發生這個問題。

錯誤訊息

在「啟動功能」部署步驟中發生錯誤:在目前的網站集合或子網站中找到識別碼為 [Guid] 且定義在 [Guid] 功能中的欄位。

解決方式

這個錯誤是欄位識別碼衝突所導致的結果,發生衝突是因為 Visual Studio 中匯入可重複使用的工作流程專案無法變更工作表單欄位識別碼。 如果您在包含原始工作流程的相同伺服器上匯入工作流程,就會發生欄位識別碼衝突。

若要解決這個問題,請使用 [尋找和取代] 功能來變更所有匯入之工作流程檔案中的欄位識別碼屬性值。

當執行已重新命名且匯入的清單執行個體時出現錯誤

如果您將匯入的清單執行個體重新命名,然後在 Visual Studio 中執行它,就會發生這個問題。

錯誤訊息

建置錯誤:「啟動功能」部署步驟中發生錯誤:Template\Features\[import project feature name]\Files\Lists\[old list name]\Schema.xml 檔案不存在。

解決方式

當您匯入清單執行個體時,名為 CustomSchema 的屬性會加入至清單執行個體的 Elements.xml 檔案中。 Elements.xml 包含清單執行個體之自訂 schema.xml 的路徑。 當您在 Visual Studio 中重新命名清單執行個體時,自訂 schema.xml 的部署路徑會變更,但是 CustomSchema 屬性的路徑值則不會更新。 因此,當啟用此功能時,清單執行個體無法在 CustomSchema 屬性所指定的舊路徑中找到 schema.xml 檔案。

若要解決這個問題,請在 CustomSchema 屬性內更新 schema.xml 檔案的部署位置路徑。

IIS 終止 SharePoint 偵錯工作階段

如果您在 Visual Studio SharePoint 方案中設定中斷點、按 F5 執行,然後停留在中斷點的時間超過 90 秒,就會發生這個問題。

錯誤訊息

Internet Information Services (IIS) 已終止正在偵錯的 Web 伺服器處理序。 您可以在 IIS 中設定應用程式集區 Ping 設定來避免這個問題。 如需詳細資訊,請參閱說明。

解決方式

根據預設,IIS 應用程式集區會等候應用程式在 90 秒內做出回應,然後才會關閉應用程式。 這個程序稱為 "Ping" 應用程式。 為了解決這個問題,您可以增加等候時間,或是完全停用應用程式的 Ping 功能。

若要存取 IIS 應用程式集區設定

  1. 開啟 IIS 管理員。

  2. 展開 [連接] 窗格中,展開 SharePoint 伺服器節點,然後按一下 [應用程式集區]。

  3. 在 [應用程式集區] 頁面上,選取 SharePoint 應用程式集區 (通常是 "SharePoint - 80"),然後按一下 [動作] 窗格中的 [進階設定]。

  4. 若要增加 IIS 逾時之前的等候時間,請將 [Ping 回應時間上限 (秒)] 變更為 90 秒以上的值。

  5. 若要停用 IIS Ping,請將 [已啟用 Ping] 設定為 [False]。

自動撤銷會將失去關聯的清單執行個體留在 SharePoint 中

如果您採取以下步驟,就會發生這個問題。

  1. 在 Visual Studio 2010 中建立具有清單執行個體的清單定義。

  2. 按 F5 鍵執行方案。

  3. 停止偵錯,或是關閉 SharePoint 網站。

  4. 重新開啟 SharePoint 網站,並開啟清單執行個體。

錯誤訊息

'/' 應用程式中的伺服器錯誤。

解決方式

發生這個問題是因為當您關閉 SharePoint 方案的偵錯工作階段之後,自動撤銷功能會撤銷此方案。 撤銷會從 SharePoint 中刪除清單定義,但是不會刪除清單的執行個體。 清單執行個體需要基礎清單定義。

若要解決此問題,請按一下 [建置] 功能表上的 [部署] 來部署方案 (請勿使用 F5 進行偵錯)。然後刪除 SharePoint 中的清單執行個體。

原始 SharePoint 方案會由匯出的版本所取代

如果您匯出 SharePoint 方案、將此方案匯入 Visual Studio 然後將此方案部署回之前匯出方案的相同網站,這樣就會取代原始 SharePoint 方案。 如果您將方案部署到未啟用原始方案的伺服器,則不會發生這個問題。

錯誤訊息

無。

解決方式

為了避免在原本匯出方案的網站上覆寫此方案,請在 Visual Studio 專案中變更方案 ID 的 GUID 及所有匯出功能的功能 ID。

開始偵錯時出現錯誤

當您在 Visual Studio 中開始偵錯 SharePoint 方案時,您會得到錯誤,指出 Visual Studio 無法載入 Web.config 組態檔,因為給定的金鑰不在字典中。

錯誤訊息

無法載入 Web.config 組態檔。 請檢查檔案中是否有任何格式不正確的 XML 元素,然後重試一遍。 發生下列錯誤:給定的金鑰不在字典中。

解決方式

若要解決此問題,請確定 Visual Studio 中 SharePoint 專案的網站 URL 屬性值符合指派給 Web 應用程式之備用存取對應預設區域的 URL。 將另一個區域 (例如內部網路) 用於 URL 無法解決此錯誤。 專案的網站 URL 和預設區域中的 URL 必須相同。 若要存取備用存取對應,請按一下 SharePoint 2010 管理中心公用程式內的 [應用程式管理],然後按一下 [Web 應用程式] 底下的 [設定備用存取對應]。 如需詳細資訊,請參閱建立 Web 應用程式的區域

請參閱

其他資源

SharePoint 封裝和部署疑難排解

建置和偵錯 SharePoint 方案

Visual Studio 偵錯