當您使用 Visual Studio 偵錯工具偵錯 SharePoint 解決方案時,可能會發生下列問題或警示。 如需詳細資訊,請參閱 偵錯 SharePoint 2007 工作流程解決方案。
沙盒化視覺網頁組件中的代幣限制
沙箱解決方案中的視覺化網頁組件無法處理 SharePoint 執行階段支援的標準權杖,例如 $SPUrl。 因此,URL 無法被解析,而且如果您在腳本元素中直接引用它,則無法在視覺化網頁組件設計工具的設計檢視中預覽內容,例如下列範例:
<script src="<% $SPUrl:~site/SiteAssets/ListOperations.js %>"></script>
若要解決此限制並解析權杖,請使用常值來參考它:
<asp:literal ID="Literal1" runat="server" Text="<script src='" />
<asp:literal ID="Literal2" runat="server" Text="<% $SPUrl:~site/SiteAssets/ListOperations.js %>" />
<asp:literal ID="Literal3" runat="server" Text="' type='text/javascript' ></script>" />
專案和專案項目名稱中的字元限制
專案和專案專案的名稱只能包含 SharePoint 2010 部署路徑中有效的字元。 不允許使用其他字元。
錯誤訊息
「字元無效」錯誤訊息。
解決辦法
針對 SharePoint 專案和專案專案的名稱,請僅使用下列字元:
英數字元 ASCII 字元
空間
句號 (.)
逗號 (,)
底線 (_)
破折號 (-)
反斜線 (\)
封裝專案時,驗證規則會驗證您要部署之每個檔案的 deployment-path 屬性是否只包含這些有效字元。
建立自訂欄位時發生錯誤
在 Visual Studio 中,自訂欄位是以 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 建立和部署網站定義之後, (亦即地區設定識別碼不是 1033 的版本) ,[ SharePoint 自定義] 索引標籤不會出現在 [範本選取 ] 方塊中,而且新的網站範本不會出現在 [ 新增 SharePoint 網站 ] 頁面中。
錯誤訊息
沒有。
解決辦法
發生此問題的原因是 webtemp 網站定義組態檔的 Path 內容中的值不正確,例如 webtemp_SiteDefinitionProject1.xml。 在 webtemp 檔案的 Path 屬性中,位於 部署位置 底下,將 1033 變更為適當的地區設定 ID 。 例如,若要使用日文地區設定,請將值變更為 1041。 如需詳細資訊,請參閱 Microsoft 指派的地區設定識別碼。
在乾淨的系統上部署工作流程專案時出現錯誤
如果您在乾淨的系統上部署 Visual Studio 中的工作流程專案,就會發生此問題。 乾淨的系統是全新安裝 Visual Studio 和 SharePoint,但未部署工作流程專案的電腦。
錯誤訊息
找不到 SharePoint 清單:工作流程歷程記錄。
解決辦法
發生此錯誤的原因是缺少工作流程歷程記錄清單。 因為開發環境是乾淨的系統,所以不會部署任何工作流程,而且「工作流程歷程記錄」清單尚不存在。 若要解決此問題,請重新開啟工作流程精靈,這會導致建立工作流程歷程記錄清單。
重新進入工作流程精靈
在 [方案總管] 中,選擇工作流程節點。
在 [屬性] 視窗中,選擇任何具有省略符號按鈕的屬性上的省略號 (...) 按鈕。
使用者在偵錯時必須在瀏覽器中重新整理應用程式頁面,才能查看更新的圖像
如果您要偵錯包含應用程式頁面的 SharePoint 解決方案,其中包含顯示影像之控制項 (例如 HTML 影像控制項),您必須在瀏覽器中重新整理頁面,以顯示對影像所做的任何變更。
錯誤:網站位置無效
如果未安裝 SharePoint Server,則可能會發生此問題。 如果您沒有 SharePoint 自訂精靈中指定的 SharePoint 網站的系統管理員存取權,也可能會發生這種情況。
錯誤訊息
- SharePoint 網站位置無效。
解決辦法
安裝 SharePoint Server。
請確定您具有 SharePoint 網站的系統管理員存取權。 如需詳細資訊,請參閱 Office Online 文章 在 SharePoint Server 中指派或移除服務應用程式的系統管理員。
事件接收器專案中不會發生網站刪除 Web 事件
當您建立事件接收器專案並選取某些 Web 事件 (例如「正在刪除網站」) 時,事件永遠不會發生。
錯誤訊息
沒有。
解決辦法
發生此問題的原因是,功能範圍必須是「Site」才能處理網站層級事件,但事件接收者專案的預設功能範圍是「Web」。 受影響的 Web 事件包括:
網站被刪除中(WebDeleting)
網站已刪除 (WebDeleted)
網站正在移動 (WebMoving)
網站已移動 (WebMoved)
若要修正此問題,請變更事件接收器的功能範圍,如下所示。
變更事件接收器的功能範圍
在 [方案總管] 中,按兩下檔案或開啟其快捷功能表,然後選擇 [開啟],在功能設計工具中開啟事件接收器的 .feature 檔案。
選擇 [範圍] 旁的箭頭,然後在出現的清單中選擇 [ 網站 ]。
變更商務資料連線模型專案中的識別碼名稱後,會出現部署錯誤
如果您在商務資料連線 (BDC) 模型中變更實體的識別碼名稱,然後嘗試部署解決方案,就會發生此問題。
錯誤訊息
< 型號名稱> 有下列外部內容類型啟用錯誤...
名稱為 '<model name>' 的 IMetadataObject 在 Field 'name' 中有一個重複的值...
解決辦法
若要解決此問題,請手動刪除模型,然後重新部署解決方案。 您可以使用下列其中一種工具來刪除模型:
SharePoint 2010 中央管理。 如需詳細資訊,請參閱 Microsoft TechNet 網站上的 BDC 模型管理 。
Windows PowerShell。 您可以在命令提示字元中輸入此命令來刪除模型: Remove-SPBusinessDataCatalogModel。 如需詳細資訊,請參閱 Microsoft TechNet 網站上的一般 Cmdlet (SharePoint Server 2010)。
嘗試在 SharePoint Server 上回收 IIS 應用程式集區時發生部署錯誤
如果 SharePoint Server 計算機上未安裝 IIS 6 WMI 相容性功能和 .NET Framework 3.5,就會發生此問題。
錯誤訊息
- 部署步驟 '回收 IIS 應用程式集區] 發生錯誤:命名空間無效
- 部署步驟 '回收 IIS 應用程式集區] 發生錯誤:工作已取消。
解決辦法
若要解決此問題,請在 SharePoint Server 電腦上檢查是否已安裝 Windows 功能 IIS 6 WMI 相容性 ,
- Windows PowerShell。 您可以執行此 PowerShell 命令來檢查是否已安裝該功能: get-windowsfeature -name Web-WMI。 如果未顯示為已安裝,您可以執行下列 PowerShell 命令來安裝它: install-windowsfeature -name Web-WMI。 如果您仍然看到嘗試回收應用程式集區時出現錯誤,請確定電腦上已安裝 .NET Framework 3.5。您可以執行 get-windowsfeature -name NET-Framework-Core ,如果未安裝,則執行 install-windowsfeature -name NET-Framework-Core。
當您嘗試在 SharePoint 中檢視視覺化網頁組件時,會出現錯誤
當使用者控制項的 Path 屬性未以字串 “CONTROLTEMPLATES\” 開頭時,就會發生此問題。
錯誤訊息
檔案 '/_CONTROLTEMPLATES/<project name>/<Web Part name>/<user control name.ascx>' 不存在。
'/' 應用程式中的伺服器錯誤。
解決辦法
為了解決此問題
在 [方案總管] 中,選擇副檔名為 .ascx 的使用者控制項檔案。
在功能表列上,選擇 [ 檢視>屬性視窗]。
在 [屬性] 視窗中,展開 [部署位置 ] 節點。
請確定 Path 屬性的值以字串 “CONTROLTEMPLATES\” 開頭。
執行包含任務表單欄位的匯入可重複使用工作流程時出現錯誤
如果您匯入包含具有欄位之工作表單的工作流程,然後在匯入該工作流程的相同系統上執行新工作流程,則會出現此問題。
錯誤訊息
部署步驟 '啟用功能] 發生錯誤:在目前網站集合或子網站中找到功能 [Guid] 中定義的 ID [Guid] 欄位。
解決辦法
此錯誤是發生欄位識別碼衝突的結果,因為 Visual Studio 中的匯入可重複使用的工作流程專案不會變更工作表單欄位識別碼。 如果您在包含原始工作流程的相同伺服器上部署匯入的工作流程,則會發生欄位 ID 衝突。
若要解決此問題,請使用「尋找和取代」功能來變更所有匯入工作流程檔案中欄位 ID 屬性的值。
執行重新命名的匯入清單執行個體時出現錯誤
如果您重新命名匯入的清單實例,然後在 Visual Studio 中執行它,就會發生此問題。
錯誤訊息
建置錯誤:部署步驟「啟用功能」發生錯誤:檔案 Template\Features\[匯入專案功能名稱]\Files\Lists\[舊清單名稱]\Schema.xml 不存在。
解決辦法
當您匯入清單執行個體時,名為 CustomSchema 的屬性會新增至清單執行個體的 Elements.xml 檔案。 Elements.xml 包含清單執行個體的自訂 schema.xml 路徑。 當您在 Visual Studio 中重新命名清單執行個體時,自訂 schema.xml 的部署路徑會變更,但不會更新 CustomSchema 屬性的路徑值。 因此,清單實例無法在啟用功能時 CustomSchema 屬性所指定的舊路徑中找到 schema.xml 檔案。
若要解決此問題,請在 CustomSchema 屬性中更新 schema.xml 檔案的部署位置路徑。
SharePoint 偵錯會話被 IIS 終止
如果您在 Visual Studio SharePoint 解決方案中設定中斷點,選擇 F5 鍵來執行它,然後停留在超過 90 秒的中斷點,就會發生此問題。
錯誤訊息
正在偵錯的網頁伺服器進程已由網際網路資訊服務 (IIS) 終止。 您可以在 IIS 中設定應用程式集區 Ping 設定來避免此問題。 如需更多詳細資訊,請參閱說明。
解決辦法
根據預設,IIS 應用程式集區會等候 90 秒,讓應用程式回應,然後再關閉應用程式。 此過程稱為「ping」應用程式。 若要解決此問題,您可以增加等待時間或完全停用應用程式 Ping。
若要存取 IIS 應用程式集區設定
開啟 IIS 管理員。
在 [連線] 窗格中,展開 [SharePoint 伺服器] 節點,然後選擇 [應用程式集區] 節點。
在 [應用程式集區 ] 頁面上,選擇 SharePoint 應用程式集區 (通常是 “SharePoint - 80”) ,然後在 [動作] 窗格中,選擇 [ 進階設定 ] 連結。
若要增加 IIS 逾時之前的等候時間,請將 Ping 最大回應時間 (秒) 的值變更為大於 90 秒的值。
若要停用 IIS Ping,請將 [已啟用 Ping ] 設定為 False。
自動撤回會在 SharePoint 中留下孤立的清單實例
如果您採取以下步驟,就會發生此問題。
在 Visual Studio 中建立具有清單實例的清單定義。
選擇 F5 鍵來執行解決方案。
停止偵錯,或關閉 SharePoint 網站。
重新開啟 SharePoint 網站,然後開啟清單實例。
錯誤訊息
'/' 應用程式中的伺服器錯誤。
解決辦法
發生這種情況是因為在您關閉 SharePoint 解決方案的偵錯會話之後,自動撤回功能會撤回解決方案。 撤回會從 SharePoint 刪除清單定義,但不會刪除清單的實例。 清單實例需要基礎清單定義。
若要解決此問題,請在功能表列上選擇 [建置>部署] 來部署解決方案。 (請勿選擇 F5 鍵來偵錯解決方案。然後,刪除 SharePoint 中的清單實例。
原始 SharePoint 解決方案會由匯出的版本取代
如果您匯出 SharePoint 解決方案,將解決方案匯入 Visual Studio,然後將解決方案部署回匯出的相同網站,則會取代原始 SharePoint 解決方案。 如果您將解決方案部署至未啟用原始解決方案的伺服器,則不會發生此問題。
錯誤訊息
沒有。
解決辦法
若要避免覆寫匯出解決方案的網站上的解決方案,請變更 Visual Studio 專案中所有匯入功能的 SolutionID 和功能識別碼的 GUID。
偵錯開始時出現錯誤
當您開始在 Visual Studio 中偵錯 SharePoint 解決方案時,錯誤表示 Visual Studio 無法載入 Web.config 檔案,因為指定的索引鍵不在字典中。
錯誤訊息
無法載入 Web.config 組態檔。 檢查檔案中是否有任何格式不正確的 XML 元素,然後再試一次。 發生下列錯誤:字典中不存在指定的索引鍵。
解決辦法
若要解決此問題,請確定 Visual Studio 中 SharePoint 專案的 Site URL 屬性值符合指派給 Web 應用程式替代存取對應預設區域的 URL。 您無法使用其他區域 (例如 Intranet) 來解決錯誤。 專案的網站 URL 與預設區域中的 URL 必須相符。 若要存取替代存取對應,請開啟 SharePoint 2010 管理中心公用程式,選擇 [ 應用程式管理 ] 連結 ,然後在 [Web 應用程式] 底下,選擇 [設定替代存取對應 ] 連結。 如需詳細資訊,請參閱 建立 Web 應用程式的區域。