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

今天在处理客户的一个问题的时候。我们已经把我们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的JMSserver上。这个就是为什么我们须要用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,试试看有没有效果。

时间: 2024-10-06 10:13:05

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

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

今天在处理客户的一个问题的时候,我们已经把我们SharePoint EventHandler依赖的第三方的TIBCO.EMS.dll注册到GAC里面了,但是日志里面还是抛出了不能加载被引用的第三方的程序集的异常. 在描述解决方案之前,我在这里把相关背景交代一下,我们知道SharePoint提供了Event handler(用户操作事件钩子)让SharePoint用户开发自己的业务逻辑.SharePoint的Event Handler说白了就是,当SharePoint用户操作SharePoint的

SharePoint 2010/2013 如何查看现有网站是使用什么网站模板新建的

本文讲述 SharePoint 2010/2013 如何查看现有网站是使用什么网站模板新建的. 相信很多做SharePoint 都有遇到这个问题,其实这个很简单: 打开现有网站,按F12调处IE调试器,在HTML 中搜索g_wsaSiteTemplateId: 如上图中,STS#0就是当前SharePoint 站点对应的网站模板ID, 如果HTML 中搜索不到g_wsaSiteTemplateId,可以尝试在JS控制台输入g_wsaSiteTemplateId并回车: SharePoint  2

SharePoint 2010/2013 隐藏的速度下拉菜单列表项

SharePoint 2010/2013 隐藏的速度下拉菜单列表项 有时为了防止一些用户编辑列表项.需要隐藏下拉菜单列表项.,仅仅须要添加一个内容编辑器控件,将css代码写入其HTML源就可以. 改动前: 改动后: CSS代码: <style type="text/css"> .s4-ctx{ display:none; } </style> 假设你使用的SP2013,这里的类须要更改. <style type="text/css"&g

在SharePoint 2010中部署RBS (转)

一.RBS(Remote BLOB Storage)简单介绍 在SharePoint的大部分企业应用案例中,SharePoint都是要承担着非常繁重的文件管理工作,这些文件类型包含了Word文档,Excel文档甚至是数据量庞大的音频.视频文件.对于这些文件,SharePoint默认都是将它们以BLOB的数据形式存储在内容数据库其中.这就非常easy导致SharePoint的数据库容量被这些BLOB数据所高速消耗,并且用户在使用SharePoint进行文件的管理的时候,须要频繁地对这些大数据量的B

在SharePoint 2010中部署RBS

分类:             SharePoint              2015-01-28 10:12     62人阅读     评论(0)     收藏     举报 一.RBS(Remote BLOB Storage)简介 在SharePoint的大部分企业应用案例中,SharePoint都是要承担着非常繁重的文件管理工作,这些文件类型包括了Word文档,Excel文档甚至是数据量庞大的音频.视频文件.对于这些文件,SharePoint默认都是将它们以BLOB的数据形式存储在内容

【解决】SharePoint Foundation 2013 未显示搜索框

在正确安装 SharePoint Foundation 2013 后会发现页面中缺少搜索框. 经查询网页了解到这是一个Bug,而且在 SP1 中也没有修复,所以即便是安装了 SP1 补丁的系统也需要下载如下补丁解决此问题: http://support.microsoft.com/kb/2760625 在补丁安装完成后,注意需要重新运行产品配置向导. 参见:http://www.sharepointblogs.be/blogs/vandest/archive/2013/12/10/sharepo

SharePoint 2010/2013: List view Lookup threshold uncovered

SharePoint with Large lists is common scenario in any Sharepoint deployment. While there are Several blogs / Guidance TechNet articles which exist working /Managing Large lists, My blog is particularly about the "List view lookup Threshold" Here

SharePoint 2010/2013/2016内容数据库与网站集的关系

总得来说,内容数据库和网站集的关系是: 一个内容数据库里可以有多个网站集,但是一个网站集只能存在于一个内容数据库. 那么问题来了 问题1:我能否在创建网站集时指定内容数据库呢?或者说我能在指定的内容数据库里创建网站集吗? 答案是你当然可以.具体教程可以bing一下Create Site Collection in a Specific Content Database ? 问题2:如果我知道内容数据库的名字,我怎么查看在此内容数据库里有几个网站集么? 嗯,你可以执行下面命令:Get-SPSite

解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个SharePoint库,验证一下该帐号是否具有对该SharePoint web应用程序具有至少“完全读取”的权限. 当我在升级上来的SharePoint环境中对我新建的博客URL进行爬网时遇到了这个错误. 这个错误发生在当你运行Windows 2008 R2和SharePoint 2010并且爬网进程试图访问一