将SharePoint事件接收器程序集部署到Web应用程序BIN

将SharePoint事件接收器程序集部署到Web应用程序BIN,sharepoint,sharepoint-2007,sharepoint-feature,Sharepoint,Sharepoint 2007,Sharepoint Feature,是否可以将包含自定义SharePoint列表功能的事件处理程序的程序集(因此,依赖于Microsoft.SharePoint程序集的类)成功部署到web应用程序的bin而不是GAC 这样做的选项显然出现在我的功能的manifest.XML文件中的XML标记中。但是,我看到过一些参考资料,其中提到为程序集部署CAS策略是必须的,对于需要访问SharePoint对象模型等权限的程序集,几乎没有说明如何成功实现这一点。我还看到讨论表明,由于CAS的困难/问题,GAC几乎是一项要求 我已经能够将程序集实

是否可以将包含自定义SharePoint列表功能的事件处理程序的程序集(因此,依赖于
Microsoft.SharePoint
程序集的类)成功部署到web应用程序的bin而不是GAC

这样做的选项显然出现在我的功能的manifest.XML文件中的XML标记中。但是,我看到过一些参考资料,其中提到为程序集部署CAS策略是必须的,对于需要访问SharePoint对象模型等权限的程序集,几乎没有说明如何成功实现这一点。我还看到讨论表明,由于CAS的困难/问题,GAC几乎是一项要求

我已经能够将程序集实际部署到文件夹中。然而,安全问题一直是一大障碍。我能够让我的程序集运行的唯一方法(而不是简单地在异常情况下出错)是将web.config的信任级别提升到
,这在我的环境中不会运行。我希望在我继续与CAS搏斗之前,验证我正在尝试做的是可能的


如果这是可能的,如果任何人有指导或资源可以帮助我修改我的功能,以这种方式部署我的事件处理程序,我将不胜感激。

不要提升web.config的信任级别-对于一个小问题,这是一个相当大的难题。您必须在WSP中打包自定义CAS策略,以授予程序集web.config授予它的更高权限


-Oisin实现这一点的一种方法是启动日志记录,记录抛出的各种异常,然后手动编写CAS策略。这是一种非常可能的方法,而且相当痛苦

似乎任何给定方法或类的所有权限要求都是预先知道的。如果是这样,应该可以编写一个工具来静态分析代码和相关程序集,并编写所需的CAS文件。不幸的是,我不知道有任何工具可以做到这一点


值得一提的是,增加程序集似乎比提高信任级别要“轻”得多。

如果我答对了您的问题,您希望将列表事件接收器部署到web应用程序的BIN目录

这在SharePoint 2010中是不可能的,但我不知道MOSS 2007是否支持它(我猜它也不支持)

此行为是设计的,因为SharePoint在内部使用System.Reflection.Assembly.Load()方法加载事件接收器程序集。Load()方法仅适用于完全限定的程序集名称,因此要求程序集驻留在全局程序集缓存中