天天看點

SharePoint 2013 本地開發解決方案以及遠端調試

  在SharePoint開發中,我們需要在部署有SharePoint環境的伺服器中開發,這是一件讓人很苦惱的事情,畢竟不能一個項目多人開發配備多台伺服器,這就需要本地開發。

  本來自己以為SharePoint 2013在不再支援用戶端系統的條件下,隻能伺服器上開發,QQ群裡的朋友提醒說也可以本地開發,遠端調試,以為自己是知道SharePoint 2010可以通過系統資料庫修改,本地安裝SharePoint的,順着這個思路,經過一番谷歌/bing,然後實作了,在此總結一下,分享給大家。

思  路

  本地安裝Visual Studio 2013,導入SharePoint系統資料庫,複制必須的dll,使用遠端調試;

缺  陷

  不能本地建立SharePoint解決方案,隻能編輯;

場  景

  可以使用源代碼管理,将檔案下載下傳到本地進行開發,然後在伺服器上擷取,打包/部署,然後本地調試。

  1、在本地嘗試使用VS開發SharePoint的朋友,都知道建立/打開SharePoint解決方案,會報如下錯誤:

SharePoint 2013 本地開發解決方案以及遠端調試

  2、在SharePoint 伺服器中,打開系統資料庫,找到如下位置:

  我查資料沒有查到2013版本的,但是2010版本說要把伺服器上Web Server Extensions下面,14這個節點導出,然後導入到本地即可;

  由于2013版本,Web Server Extensions下面,有14和15兩個檔案夾,自己不知道導入哪個,索性就把Shared Tools整個節點導出,然後導入到本機(Win8);

SharePoint 2013 本地開發解決方案以及遠端調試

  3、導入系統資料庫,建立SharePoint解決方案依然報錯,因為預設需要連接配接調試的站點,而本地沒有,必然報錯(或許修改不讓預設連接配接,也能解決,待解決);

  但是,在伺服器上建立一個解決方案,本地編輯已經可以了,但是會報如下錯誤,很正常,因為本地沒有環境必然沒有這兩個引用,去伺服器拷過來,放到bin/debug下:

SharePoint 2013 本地開發解決方案以及遠端調試

  4、這兩個檔案所在位置,伺服器實體路徑15\ISAPI下,如下圖:

SharePoint 2013 本地開發解決方案以及遠端調試

  5、本地重新生成,VS顯示全部重新生成已成功,如下圖:

  這樣,我們本地編寫SharePoint 2013的解決方案,已經可以了,下面我們進行遠端調試的配置:

SharePoint 2013 本地開發解決方案以及遠端調試

  6、使用遠端調試,有幾個步驟需要配置:

    a.本地/伺服器必須有相同的管理者帳号;

    b.将本地VS中的Remote Debugger拷貝到伺服器,并執行msvsmon.exe;

    c.設定msvsmon.exe為windows認證,将調試使用賬号授權允許調試;

    d.暫時關閉兩台機器防火牆,或者允許調試通過;

  7、伺服器和本地,共同建立一個賬号mydebug(使用者名/密碼相同);

  我在完成這步以後,測試了可以不必使用這個賬号調試,但是這個賬号兩邊必須有,而且必須授權管理者;

SharePoint 2013 本地開發解決方案以及遠端調試

  8、找到本地的Remote Debugger,拷貝到伺服器,路徑如下:

  C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger,調試的時候,注意使用裡面64位進行調試;

SharePoint 2013 本地開發解決方案以及遠端調試

  9、在拷貝到伺服器的Remote Debugger中,右鍵msvsmon.exe,以管理者運作,然後會看到Visual Studio遠端調試螢幕打開;

SharePoint 2013 本地開發解決方案以及遠端調試

  10、如下圖,可以看到在等待新的連接配接:

SharePoint 2013 本地開發解決方案以及遠端調試

  11、端口号随意設定,要使用Windows身份認證,權限要勾上調試賬号;

SharePoint 2013 本地開發解決方案以及遠端調試

  12、在本地VS中,附加程序,如下圖:

  可以看到,我們附加的已經是遠端伺服器的程序了,選擇w3wp.exe

SharePoint 2013 本地開發解決方案以及遠端調試

  13、可以看到Visual Studio遠端調試螢幕,已經接到我們的連接配接了;

SharePoint 2013 本地開發解決方案以及遠端調試

  14、遠端調試注意要部署最新的程式,否則斷點不會命中;

SharePoint 2013 本地開發解決方案以及遠端調試

  15、部署以後,還要單獨部署pdb檔案,使用指令行的方式;

  在SharePoint 2013中,由于.Net 4.0和Windows系統相容問題,4.0以上版本的dll,都不熟到C:\Windows\Microsoft.NET\assembly下了,不再是我們熟悉的GAC,這一點要特别注意;

  pdb檔案部署路徑C:\Windows\Microsoft.NET\assembly\GAC_MSIL\SharePointProject\ v4.0_1.0.0.0__3475aec342981a3a,“3475aec342981a3a”是這個程式集的強名稱;

SharePoint 2013 本地開發解決方案以及遠端調試

  16、所有工作完成,看看遠端調試的效果吧,還是不錯的。

SharePoint 2013 本地開發解決方案以及遠端調試

總  結

  SharePoint 2013本地開發,就是把SharePoint系統資料庫從服務起導出然後從本地導入;遠端調試有幾個要注意的地方,本地/遠端Remote Debugger版本要一緻,本地/遠端要有相同的管理者賬号,遠端運作Remote Debugger本地連接配接,Remote Debugger配置Windows認證并授權調試賬号,代碼要是最新pdb檔案要部署到GAC下,GAC已經不再原來的位置。

  以上就是SharePoint2013本地開發解決方案以及配置遠端調試的全部内容,在此,謝謝大家的閱讀并歡迎點贊,希望霖雨的部落格能夠為大家帶來幫助。