【问题标题】:Referencing dll files in sharepoint event receivers在共享点事件接收器中引用 dll 文件
【发布时间】:2014-03-27 09:06:11
【问题描述】:

我在 Visual Studio 中有一个 C# Sharepoint 2013 项目,我将它连接到一个 SharePoint 2013 网站。我创建了一个事件接收器,只要将元素添加到 SP 中的特定列表,它就会正确触发。我可以调试事件接收器并命中断点。

但是,当我尝试从引用的 dll 中添加功能时,事件接收器停止工作。断点未激活 - 如“没有为此文档加载任何符号”。然后,我将 DLL 添加到 Visual Studio 中的包中,添加到 GAC。调试时,断点现在“正常”,表明符号已加载。仍然没有命中断点。

为了澄清,只需将 DLL 添加为引用即可(即断点被命中),当修改事件接收器代码以使用引用的 dll 中的某些内容(例如创建对象)时,断点会停止工作。

在自定义事件接收器中,如何引用和使用 dll 文件中的功能?

【问题讨论】:

  • 你为什么要这么做? :)
  • 嗯,我需要使用dll中的一些方法。
  • 尝试在不将 DLL 添加到 gac 的情况下进行调试。只需像往常一样引用它们并开始调试。
  • 是的,这是我尝试的第一件事。然后根本不会加载任何符号。
  • 在 SharePoint 日志中查找任何错误。可能会出现“无法加载文件或程序集 XXX 或其依赖项之一”之类的内容。

标签: c# sharepoint visual-studio-2012 dll sharepoint-2013


【解决方案1】:

无论断点是否命中,事件接收器都工作吗?你的 dll 签名了吗?

从项目设置中将部署类型切换为无激活并手动激活它,如果它也没有帮助,通常部署项目,激活功能,然后返回 Visual Studio 并执行“工具/附加到进程”,然后附加到适当的 w3wp 进程,看看是否仍有消息表明没有加载任何符号。

如果这没有帮助,请从该 dll 中删除引用并尝试另一个。

另一种方法:通过命令行 (http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.110).aspx) 将 dll 安装到 GAC,然后从您的项目中添加对已安装 dll 的引用。

我认为其中一种方法应该会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-13
    • 2014-06-09
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多