0

我试图调试 EventReceiver 不起作用。它用于正常工作。我唯一改变的是添加了 Intraner AAM。

http://spfoundation/dept/it/Lists/App%20Change%20Request/AllItems.aspx

上面的 url 是默认的 AAM 和列表 url。

<Receivers  ListUrl="Lists/App%20Change%20Request">
  <Receiver>
    <Name>AppChangeEventReceiverItemAdded</Name>
    <Type>ItemAdded</Type>
    <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
    <Class>AppChangeRequest.AppChangeEventReceiver.AppChangeEventReceiver</Class>
    <SequenceNumber>10000</SequenceNumber>
  </Receiver>

public class AppChangeEventReceiver : SPItemEventReceiver
{
    /// <summary>
    /// An item was added.
    /// </summary>
    public override void ItemAdded(SPItemEventProperties properties)
    {
       // base.ItemAdded(properties);
        using (SPWeb web = properties.OpenWeb())
        {
            try
            {
                web.AllowUnsafeUpdates = true;
                SPList list = web.Lists["Project/Task Status Details"];

                 ......
                 ......

               web.AllowUnsafeUpdates = false;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }

在 Visual Studio 2012 中,我能够正确调试。现在我不是。我在这里做错什么了吗?断点甚至没有到达它的第一行。“没有加载任何符号......”

4

2 回答 2

0

您可以尝试一些事情

1- 在 GAC (C:\Windows\Microsoft.NET\assembly\GAC_MSIL) 中删除项目的 dll

2-再次部署项目

3-如果它是最后一个部署的,则控制 dll。(控制日期)

4- 从 vs2012 调试并附加到进程(w3wp.exe 和 OWSTIMER.exe)

如果这不起作用,请重新启动 vs2012 并再次尝试步骤。

希望对你有帮助!!

于 2015-01-07T08:05:32.623 回答
0

这可能是一个迟到的答案,但仍然。我花了半天时间在我的环境中找出非常相似的问题。如果 AAM 设置不正确,确实有可能不会触发事件接收器(尽管站点已加载并且一切运行良好......嗯,几乎所有东西)。在这种情况下,您可能会在事件日志中发现如下错误:

事件接收器抛出异常:System.IO.FileNotFoundException:找不到位于http://xxx.yyy.zzz/sites/aaa的 Web 应用程序。验证您是否正确键入了 URL。如果 URL 应该服务于现有内容,系统管理员可能需要将新的请求 URL 映射添加到预期的应用程序。

于 2016-12-14T15:25:33.747 回答