調試 SharePoint 解決方案

  • 調試 SharePoint 解決方案

    可以使用 Visual Studio 調試器來調試 SharePoint 解決方案。?啟動調試后,Visual Studio 會將項目文件部署到 SharePoint Server,然后在Web 瀏覽器中打開 SharePoint 網站的一個實例。?以下各節說明如何在 Visual Studio 中調試 SharePoint 應用程序。

        • 啟用調試
        • F5 調試和部署過程
        • SharePoint 項目功能
        • 調試工作流
        • 調試功能事件接收器
        • 啟用增強的調試信息

    啟用調試

    當您首次在 Visual Studio 中調試 SharePoint 解決方案時,將會出現一個對話框,警告您 web.config 文件尚未配置為啟用調試。?web.config 文件是在安裝 SharePoint Server 時創建的。?有關更多信息,請參見?Working with Web.config Files(使用 Web.config 文件)。此對話框為您提供了兩種選項:運行項目而不進行調試;修改 web.config 文件以啟用調試。?如果您選擇第一個選項,該項目會正常運行。?如果您選擇第二個選項,配置 web.config 文件:

        • 啟用調用堆棧 (CallStack="true")
        • 禁用 Visual Studio?中的自定義錯誤 (<customErrors mode="Off" />)? RemoteOnly
        • 啟用編譯調試 (<compilation debug="true">)

    生成的 web.config 文件如下所示:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    ??? <configuration>

    ??????? ...

    ??????? <SharePoint>

    ??????????? <SafeMode MaxControls="200"

    ??????????????? CallStack="true"

    ??????????????? DirectFileDependencies="10"

    ??????????????? TotalFileDependencies="50"

    ??????????????? AllowPageLevelTrace="false">

    ?? ?????????????...

    ??????????? </SafeMode>

    ??????? ...

    ??????? </SharePoint>

    ??????? <system.web>

    ??????????? ...

    ??????????? <customErrors mode="Off" />

    ??????????? ...

    ??????????? <compilation debug="true">

    ??????????? ...

    ??????????? </compilation>

    ????? ??????...

    ??????? </system.web>

    ??????? ...

    ??? </configuration>

    若要撤消更改并禁用調試,請在 web.config 文件中更改以下 XML

        • 關閉調用堆棧 (CallStack="false")
        • 啟用 Visual Studio?中的自定義錯誤 (<customErrors mode="On" />) ?RemoteOnly
        • 禁用編譯調試 (<compilation debug="false">)

    F5 調試和部署過程

    在調試模式下運行 SharePoint 項目時,SharePoint 部署過程將執行以下任務:

        • 運行可自定義的預先部署命令。
        • 使用 MSBuild 命令來創建 Web 解決方案包(.wsp) 文件。? .wsp 文件包括所有必要的文件和功能。?有關更多信息,請參見解決方案概述
    1. 如果 SharePoint 解決方案是場解決方案,則回收指定網站 URL IIS 應用程序池。?此步驟將釋放 IIS 輔助進程鎖定的文件。
    2. 如果已存在早期版本的包,則收回 .wsp 文件中早期版本的功能和文件。?此步驟將停用功能,卸載解決方案包并在SharePoint Server 上刪除解決方案包。
    3. 安裝 .wsp 文件中當前版本的功能和文件。?此步驟會在 SharePoint Server 上添加和安裝解決方案。
    4. 對于工作流,安裝工作流程序集。?可以使用?Assembly Location?屬性更改程序集的位置。
    5. 如果作用域是網站或 Web,則激活 SharePoint 中的項目功能。?不激活場和 Web 應用程序作用域內的功能。
    6. 對于工作流,將工作流與您在SharePoint 自定義向導”中選擇的 SharePoint 庫、列表或網站相關聯。

?說明

此關聯僅當您在該向導中選擇“是否自動與工作流關聯”時發生。

  1. 運行可自定義的后期部署命令。
  2. 附加 Visual Studio 調試器附加到 Windows SharePoint Services 進程 (w3wp.exe)。如果項目類型允許您更改?Sandboxed Solution?屬性,并且其值設置為?true,則調試器會附加到不同的進程 (spucworkerprocess.exe)?有關更多信息,請參見沙盒解決方案注意事項
  3. 如果 SharePoint 解決方案是場解決方案,則啟動 JavaScript 調試器。
  4. Web 瀏覽器中顯示相應的庫、列表或網站頁。

在每個任務完成后,Visual Studio 都會在“輸出”窗口中顯示狀態消息。?如果某個任務無法完成,則 Visual Studio 會在“錯誤列表”窗口中顯示錯誤消息。

SharePoint 項目功能

功能是一個可移植的模塊化功能單元,它通過使用網站定義簡化了網站修改工作。?功能還是一個 Windows SharePoint Services?(WSS) 元素包,可以在特定的作用域內激活這些元素,以幫助用戶完成特定目標或任務。?模板將作為功能進行部署。

在調試模式下運行項目時,部署過程將在 %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES 的功能目錄下創建一個文件夾。?功能名稱的格式為:項目名稱_Featurex,如 TestProject_Feature1

功能目錄的解決方案的文件夾中包含一個功能定義文件和一個工作流定義文件。?功能定義文件 (Feature.xml) 在項目的功能。項目定義文件 (Elements.xml) 描述文件描述項目模板。?可在“解決方案資源管理器”中找到 Elements.xml,但 Feature.xml 是在創建解決方案包時生成的。?有關這些文件的更多信息,請參見?SharePoint 項目和項目項模板

調試工作流

在調試工作流項目時,Visual Studio 會將工作流模板(取決于其類型)添加到庫或列表中。?然后,您可以通過添加或更新項來以手動方式啟動工作流模板。?之后,您可以使用 Visual Studio 調試工作流。

?說明

如果添加對其他程序集的引用,請確保這些程序集安裝在全局程序集緩存(GAC) 中。?否則工作流解決方案將失敗。?有關如何安裝程序集的信息,請參見Manually start a workflow on a document or item(在文檔或項上手動啟動工作流)。

但部署過程不會啟動工作流。?必須從 SharePoint 網站啟動工作流。?還可以通過使用客戶端應用程序(例如 Microsoft Office Word 2010)或使用單獨的服務器端代碼來啟動工作流。?使用在SharePoint 自定義向導”中指定的某一種方法。

例如,如果您指定可以手動啟動工作流,則直接從庫或列表中的項啟動工作流。?有關如何手動啟動工作流的更多信息,請參見?Manually start a workflow on a document item(在文檔項上手動啟動工作流)。

調試功能事件接收器

默認情況下,在運行 Visual Studio SharePoint 應用程序時,將在 SharePoint Server 上自動為您激活該應用程序的功能。?不過,在調試功能事件接收器時,這會導致問題,原因是當 Visual Studio 激活某個功能時,該功能會在不同于調試器的進程中運行。?這意味著,一些調試功能(如斷點)將無法正常工作。

若要在 SharePoint 中禁用功能的自動激活并允許對功能事件接收器進行適當的調試,請在調試之前將項目的“活動部署配置”屬性的值設置為“無激活”?然后,在中,在開始調試您在 Visual Studio后的 SharePoint 應用程序,請手動激活 SharePoint 中的功能。?若要激活該功能,請打開 SharePoint 中的?網站操作?菜單上,選擇?站點設置,選擇?管理網站功能?鏈接,該功能旁邊的按鈕,然后選擇?激活?繼續調試作為普通。

啟用增強的調試信息

由于 Visual Studio 進程 (devenv.exe)Visual Studio SharePoint 宿主進程 (vssphost4.exe) SharePoint WCF 層之間的交互有時會很復雜,因此對生成、部署時出現的錯誤進行診斷會非常困難。?可以通過啟用增強的調試信息來幫助您解決此類錯誤。?為此,請轉至 Windows 注冊表中的以下注冊表項:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools]

如果“EnableDiagnosticsREG_DWORD?值已不存在,請手動創建它。?設置“EnableDiagnostics”值為“1 ". "

在將此鍵值設置為 1 后,只要在 Visual Studio 中運行時出現項目系統錯誤,“輸出”窗口中就會顯示堆棧跟蹤信息。?若要禁用增強的調試信息,請將 EnableDiagnostics 設置為 0 或刪除該值。

有關其他 SharePoint 注冊表項的更多信息,請參見? Visual Studio 中調試 SharePoint 工具擴展

?

源文檔 <http://msdn.microsoft.com/zh-cn/library/vstudio/ee231550.aspx>?

轉載于:https://www.cnblogs.com/stevegp/p/3590938.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274850.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ui和ux的區別_UI和UX之間的區別

ui和ux的區別You’ve probably heard a lot of self-proclaimed “UX/UI” designers out there, the word “UI” thrown around endlessly at Apple keynotes, or tech startups saying “we need to fix the UX here and the UX there.”?ouve可能聽說過很多自稱“UX / UI”…

給UIWebView增加搜索欄

在xib文件中拖入UIWebView。使用代碼為UIWebView的滾動控件增加搜索欄&#xff1a;UISearchBar* searchBar[[[UISearchBar alloc]initWithFrame:CGRectMake(0, -44, 320, 44)]autorelease];[self.browser.scrollView addSubview:searchBar];self.topBarsearchBar;[[self.browse…

用JS輕松實現一個錄音、錄像、錄屏工具庫

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列前言最…

文本字段和表單設計-UI組件系列

重點 (Top highlight)Forms have existed for a significant amount of time, greatly simplifying the task of drafting complaints and various other legal pleadings. With the advance of information and its processing, means to gather the data are also evolving. …

WCF 第四章 綁定 netMsmqBinding

MSMQ 為使用隊列創建分布式應用程序提供支持。WCF支持將MSMQ隊列作為netMsmqBinding綁定的底層傳輸協議的通信。 netMsmqBinding綁定允許客戶端直接把消息提交到一個隊列中同時服務端從隊列中讀取消息。客戶端和服務端之間沒有直接通信過程&#xff1b;因此&#xff0c;通信本 …

React 18 RC 版本發布啦,生產環境用起來!

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列今天給…

阿拉伯語排版設計_針對說阿拉伯語的用戶的測試和設計

阿拉伯語排版設計Let me start off with some data to put things into perspective “Why?”讓我從一些數據入手&#xff0c;以透視“為什么&#xff1f;”的觀點。 Arabic is the 5th most spoken language worldwide, with 420 million speakers, and is an official lang…

CMMI簡介

CMMI&#xff08;Capability Maturity Model Integration&#xff09;即能力成熟度模型集成 什么是CMMI CMMI是CMM模型的最新版本。早期的CMMI&#xff08;CMMI-SE/SW/IPPD&#xff09;1.02版本是應用于軟件業項目的管理方法&#xff0c;SEI在部分國家和地區開始推廣和試用。隨…

SVN:“SVN”不是內部命令,解決方法

1、安裝完TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi 2、在運行窗口cmd---svn&#xff0c;提示&#xff1a; “SVN” 不是內部命令 郁悶&#xff0c;小有糾結 解決方法&#xff1a;安裝Slik-Subversion-1.6.17-x64.msi 命令行窗口關閉&#xff0c;再次打開命令行窗口&#x…

7個月,4000+人,500+源碼筆記,誠邀你參加源碼共讀~

大家好&#xff0c;我是若川。按照從易到難的順序&#xff0c;前面幾期&#xff08;比如&#xff1a;validate-npm-package-name、axios工具函數&#xff09;很多都只需要花2-3小時就能看完&#xff0c;并寫好筆記。但收獲確實很大。開闊視野、查漏補缺、升職加薪。已經有400筆…

火焰和煙霧的訓練圖像數據集_游戲開發者是煙霧和鏡子的大師

火焰和煙霧的訓練圖像數據集Video games are incredible. They transport us to new worlds, allow us to partake in otherwise impossible situations, and empower us in our every day lives. Games can make us feel like a part of something bigger than ourselves, per…

平衡樹SPLAY

一個比線段樹代碼還要又臭又長的數據結構&#xff0c;各式各樣的函數&#xff0c;咱也不知道別人怎么記住的&#xff0c;咱也不敢問 SPLAY的性質 1.某個節點的左子樹全部小于此節點&#xff0c;右子樹全部大于此節點 2.中序遍歷splay輸出的序列是按從小到大的順序 &#xff08;…

POJ 2696 計算表達式的值

時間限制: 1000ms內存限制:65536kB描述有些語言中表達式的運算符使用字符串表示&#xff0c;例如用mul代表*&#xff0c;用div代表/&#xff0c;用add代表&#xff0c;用sub代表-&#xff0c;用mod代表%。輸入第一行為表達式的個數n。其余n行每行一個表達式&#xff0c;表達式由…

為支持兩個語言版本,我基于谷歌翻譯API寫了一款自動翻譯的 webpack 插件

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列本文來…

全球 化 化_全球化設計

全球 化 化重點 (Top highlight)Designing for a global audience can feel daunting. Do you localize your product? Or, do you internationalize your product? And what does that even entail?為全球觀眾設計可能會令人生畏。 您是否將產品本地化&#xff1f; 還是您將…

springMVC_數據的處理過程

1、DispatcherServlet&#xff1a;作為前端控制器&#xff0c;負責分發客戶的請求到 Controller 其在web.xml中的配置如下&#xff1a; <servlet><servlet-name>dispatcherServlert</servlet-name><servlet-class>org.springframework.web.servlet.Dis…

面試體驗:Facebook 篇(轉)

http://www.cnblogs.com/cathsfz/archive/2012/11/05/facebook-interview-experience.html 2012-11-05 08:20 by Cat Chen, 23266閱讀, 121評論, 收藏, 編輯 Google、Microsoft 和 Yahoo 都是去年的事情了&#xff0c;接下來說說今年…

JavaScript 新增兩個原始數據類型

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列JavaS…

axure低保真原型_如何在Google表格中創建低保真原型

axure低保真原型Google Sheets is a spreadsheet, just like Microsoft Excel.Google表格是一個電子表格&#xff0c;就像Microsoft Excel一樣。 Most people associate it with calculating numbers. But Google Sheets is actually great for organizing your ideas, making…

Weblogic EJB 學習筆記(3)精

編輯實體bean的高級課程 1. 怎樣開發主健類 ejb的主健類主要用做持久存儲和ejb容器中的唯一標識符. 通常主健類的字段直接映射到數據庫中的主健字段. 如果主健只是由單個實體bean字段組成.且其數據類型是基本的java類.如string,則bean作者不必開發自定義的主健類. 只需要在配置…