解决在SharePoint 2010/2013部署自己的Event Handler后,抛出”不能加载被引用的第三方的程序集"的问题

原创 2014年07月12日 10:15:41

今天在处理客户的一个问题的时候,我们已经把我们SharePoint EventHandler依赖的第三方的TIBCO.EMS.dll注册到GAC里面了,但是日志里面还是抛出了不能加载被引用的第三方的程序集的异常。

 

在描述解决方案之前,我在这里把相关背景交代一下,我们知道SharePoint提供了Event handler(用户操作事件钩子)让SharePoint用户开发自己的业务逻辑。SharePoint的Event Handler说白了就是,当SharePoint用户操作SharePoint的数据的时候,比如在SharePoint List(列表)中添加一行数据(ListItem)时,这个操作行为会被Event Handler 监听到,我们就可以把我们的业务逻辑写到SharePoint提供的Event Handler的接口中;这样一旦增删改查事件发生后,就会调用在Event Handler里面我们自己写的业务逻辑;在我们自己写的业务逻辑里面可以引用第三方库去实现自己的业务需求;比如在我们自己开发测试的这个环境里面,我们调用了TIBCO.EMS.dll 库去把消息发送到TIBCO的JMS服务器上。这个就是为什么我们需要用GACUtil工具命令把TIBCO.EMS.dll注册到GAC里面去的原因。

 

OK,基本背景交代完毕,那么现在我们来看具体的问题,当我们把我们自己定制的SharePoint Event Handler依赖的TIBCO.EMS.dll注册到GAC里面了,然后再SharePoint的

网站上面修改一条测试数据。 这个时候,SharePoint Event Handler的事件的的确确触发了,但是却抛出了下面的异常,

 it catchs the excpetion:Could not load file or assembly 'TIBCO.EMS, Version=1.0.700.12, Culture=neutral, PublicKeyToken=5b83db8ff05c64ba' or one of its dependencies. The system cannot find the file specified.

 

奇怪,我们明明把TIBCO.EMS.dll注册到GAC里面去了,为什么执行Event Handler的IIS的w3wp.exe的后台进程加载不到TIBCO.EMS.dll库呢?这个问题纠结了我不少的时间。

后面在网上找到一篇文章,http://blogs.technet.com/b/speschka/archive/2013/10/26/another-quot-could-not-load-file-or-assembly-quot-error-resolved.aspx 里面描述了和我这边类似的问题,我抱着试一试的态度,把SharePoint的IIS重新启动了一下。

 

感谢上帝,这个问题解决了。今天花一个小时的时间,把我遇到的这个问题整理出来,希望大家遇到类似的问题后,不要太过于纠结,可以试试重新启动SharePoint的IIS,试试看有没有效果。

 

 

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

通过Feature部署Sharepoint 2013的EventReceiver

Sharepoint 2013中对EventHandler的部署有不少改进。记录一下初步感受。 1. 生产Feature文件 在SP2013中对列表或文档库的部署可以不再用程序。可以通过按web等方式...
  • GetDC
  • GetDC
  • 2016年04月06日 14:19
  • 423

使用Visual Studio给SharePoint列表添加Event Receiver

使用Visual Studio给SharePoint列表添加Event Receiver. 事件接收器有各种类型和大小。...
  • u012025054
  • u012025054
  • 2014年06月17日 15:09
  • 1388

深入理解SharePoint中的Event Receiver功能

这篇博客讨论了SharePoint中Event Receiver的工作原理,并通过讨论,解决了一个上传文档的时候常见的问题。...
  • shrenk
  • shrenk
  • 2015年01月13日 12:17
  • 1545

SharePoint 中关于event receivers的讨论

今天一早,跟几个小伙伴在群里讨论了有关事件触发器的东西,感觉收获颇多,拿出来和大家分享。讨论的内容,主要就是关于事件触发器的同步/异步的设置以及作用。   其实接触SharePoint颇久,对于事件...
  • linyustar
  • linyustar
  • 2014年06月23日 14:11
  • 1217

SharePoint 2013 开发——发布SharePoint应用程序

SharePoint 2013 开发——细致讲述如何发布SharePoint应用程序
  • FoxDave
  • FoxDave
  • 2015年06月26日 16:24
  • 2342

SharePoint 2010 无法创建web application(New 按键灰色)

1.检查登陆用户是否在Farm Administrator Group(场管理员组)中。 2.检查登陆用户是否在SharePoint Server Administrators(SharePoint...
  • yan19880901
  • yan19880901
  • 2012年11月27日 09:21
  • 1078

SharePoint 2010/2013 在某块代码段中临时禁用触发event handler(receiver)

本文讲述如何在SharePoint 2010/2013的解决方案中的某块代码段中临时禁用触发event handler(receiver): 新建类DisabledItemEventsScope:...
  • farawayplace613
  • farawayplace613
  • 2014年04月02日 22:25
  • 1221

在 SharePoint Foundation 2010 中使用事件接收器

使用事件的实践示例 既然您已深刻理解 Microsoft SharePoint Foundation 2010 中的事件模型,您可以开始在自己的代码中生成事件处理。本文其余部分演示通过各种方式使...
  • dz45693
  • dz45693
  • 2013年12月24日 13:18
  • 2429

升级到 SharePoint 2013 全策略

升级到 SharePoint 2013 全策略 准备升级 准备您的原始服务器场。确保您已为 Windows SharePoint Services 3.0 或 Office ...
  • jason_dct
  • jason_dct
  • 2015年03月18日 20:55
  • 1085

如何使用本地账户“完整”安装 SharePoint Server 2010

如何使用本地账户"完整"安装 SharePoint Server 2010 原文:http://sharepoint.microsoft.com/blogs/fromthefield/Lists/P...
  • leon12354
  • leon12354
  • 2015年06月04日 10:26
  • 502
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决在SharePoint 2010/2013部署自己的Event Handler后,抛出”不能加载被引用的第三方的程序集"的问题
举报原因:
原因补充:

(最多只允许输入30个字)