2010-06-15 155 views
0

我有一個在「網站集功能」下激活的SharePoint功能,它激活了一些問題。我已通過stsadm以及SharePoint UI激活它,但都不成功。該功能將從停用狀態切換爲激活狀態,但應該存在的結果不存在。結果是應該創建一些頁面。所以我的問題是沒有人知道一種方法來逐步激活功能過程?我希望能夠將Visual Studio 2008附加到瀏覽器,並逐步完成我設置的一些斷點。在SharePoint 2007中調試功能激活

我已經收窄誤差下降到FeatureReceiverFeatureActivated(SPFeatureReceivrProperties properties)

頁,我一直在引用:

http://msdn.microsoft.com/en-us/library/ee231550.aspx http://blogs.msdn.com/b/sharepoint/archive/2007/04/10/debugger-feature-for-sharepoint.aspx

編輯:將溶液通過尋找解決在12個配置單元下的Logs文件夾中創建的錯誤,從導入Web部件的第一個錯誤開始,並引用http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/10/06/troubleshooting-cannot-import-web-part-error.aspx

該問題已通過添加兩個缺失的二進制文件解決。通過附加到w3wp和SP計時器服務進程,我無法附加到SharePoint功能激活。

謝謝大家的提示!

+0

如果您有答案,請將其作爲答案發布並接受,以便其他具有相同問題的用戶知道他們在此處有答案。 – 2010-06-16 07:37:45

+0

我沒有我的問題的答案,因爲我無法調試功能激活。 – Eric 2010-06-16 14:18:24

回答

2

您可以嘗試的一件事是(假設Visual Studio與SharePoint服務器本身安裝在同一臺計算機上)。

  • FeatureActivated(SPFeatureReceivrProperties properties)方法上放置一個斷點。
  • 附加Visual Studio(調試菜單 - >附加到進程)並查找SharePoint計時器服務(其名稱現在轉義我)
  • 立即嘗試激活您的功能。

如果我記得,定時器進程負責觸發各種任務,如功能激活,所以希望附加到該過程將是正確的。

希望以上方法可行,假設您使用代碼的DEBUG版本,您應該能夠調試您的代碼。

希望這會有所幫助。

+0

您需要附加的進程的名稱是w3wp.exe。確保選中「顯示所有用戶的所有進程」。可能有多個實例(最簡單的方法就是附加到列出的所有w3wp.exe進程)。 – 2010-06-15 18:47:51

+0

SharePoint計時器服務是OWSTIMER.exe,並且在通過網站集功能激活功能時,附加到它似乎沒有擊中FeatureActivated方法。 – Eric 2010-06-15 18:58:04

+0

@Eric U. - 好的,也許@Kit有正確的想法,而不是附加到'w3wp.exe'。它必須是這些.EXE的其中一個,自從我自己完成這一切之後,已經有一段時間了。 – 2010-06-15 19:05:31

1

你會發現使用SPVisuaDev更容易,它是一個VS插件,你可以選擇菜單中的激活(帶調試),甚至不需要使用stsadm來部署或激活你的功能你的開發環境。它還與WSPBuilder集成在一起,使您可以更輕鬆地構建和部署WSP軟件包。

0

我很確定功能激活會發生在w3wp中,如果你是從瀏覽器中執行的,而stsadm是如果你是從stsadm中執行的。 Powershell在2010年的PowerShell中。計時器服務不涉及這些配置任務。他們都是同步的。

+0

不能,附加到w3wp不會觸發FeatureActivated方法上的斷點。 – Eric 2010-06-15 18:48:05

+1

您是否檢查過ULS日誌(程序文件\通用文件\ microsoft shared \ web server extensions \\ [12/14] \ logs)以查看是否有關於功能激活的任何內容?您是否100%確定功能接收器實際上正在運行? – James 2010-06-15 18:56:18

相關問題