2013-03-15 583 views
0

我已经使用sharepoint 2010+ VS 2010中的功能接收器类创建了一个简单功能。 但我无法调试activate和deactivate方法。 以下是我所遵循的步骤:在SharePoint 2010中调试功能激活

  1. 添加接收器类到功能。
  2. 将活动部署配置更新为:无激活
  3. 在调试模式下构建解决方案。
  4. 将程序集从BIN拖放到GAC文件夹。
  5. 部署解决方案。
  6. IISRESET
  7. 调试器附加>>处理>> W3WP 8.Activate功能

解决方案进入调试模式,但在调试器调试点并没有停止,即使再成功的功能触发。 请帮忙..

+0

您应该可以在不手动复制程序集的情况下进行调试:如果您在项目选项中设置了SharePoint站点URL,那么F5应该足够了。这是一个农场解决方案吗?默认值是Sandbox,其代码不会在w3wp中运行,但会在SPUCWorkerProcess中运行。 – 2013-03-16 14:29:49

回答

0

如果你正在努力与上述记住你总是可以写入事件日志。

通常情况下,您正在调试,因为您对特定的代码区域保持警惕。有时候我把这些放到我的代码中,这样我就可以跟踪代码中的值,并写入应用程序日志中的一个信息事件。

C# if/then directives for debug vs release

当您在切换代码发布在上面的代码会在和无关跳过。

希望这会有所帮助。

0

确保在功能TEMPLATE.XML文件的功能接收器的类名和组装以及指定在 接收器代码踢,这怎么会在这里是模板的一个例子:

<?xml version="1.0" encoding="utf-8" ?> 
<Feature xmlns="http://schemas.microsoft.com/sharepoint/" 
     Scope="Web" 
     Id="guid" 
     ReceiverAssembly="FullAssemblyName" 
     ReceiverClass="FullClassName"> 
</Feature> 

心连心

0

您错过了一个微小而重要的步骤。特别是如果您是要部署到的SharePoint场的唯一用户。

  1. 重新加载SharePoint页面。

原因是IIS重置后,您已经杀死了SharePoint IIS进程。您需要再次加载它才能正确连接Visual Studio。