【发布时间】:2011-01-07 00:32:53
【问题描述】:
我的公司发布了一种产品,其中包括在 SPLists 上注册 SharePoint EventReceiver,监视更改。我一直在 GAC 中注册它,它运行得很好。但是,我们的一位客户对我们在 GAC 中安装的程序集表示不满意,并希望我们将二进制文件移动到 SharePoint BIN 目录并执行该方案所需的其他安全/信任巫术。
当我尝试注册一个不在 GAC 中的事件接收器时,我得到一个非常具体的异常,其消息显示:“事件接收器程序集不在 GAC 中。”我将此解释为 SharePoint 要求在 GAC 中安装事件接收器。此外,我在 MSDN 上找到了这个:http://msdn.microsoft.com/en-us/library/ff407965.aspx:“事件接收器和处理事件”部分状态
SharePoint Foundation 事件处理程序 是自定义的编译模块 其调用为的托管代码 由指定的事件触发 你已经指定了。事件处理程序代码 编译成 .dll 文件并 部署到 GAC。
这再次暗示但不完全说明 GAC 安装是一项要求。有人确切地知道这个问题的答案,所以我可以回到客户那里解释我们的 GAC 要求吗?
现在的后续问题是:如果我在 GAC 中有一个程序集,并且我“静态链接”到其他程序集——即我没有使用 Assembly.Load() 显式动态加载它们——那么那些其他程序集还必须居住在 GAC 中吗?
【问题讨论】:
-
只能笑着说“...我们的一个客户对我们在 GAC 中安装的程序集表示不满意...”我想不出一个人会不高兴的正当理由程序集在 GAC 中。这不是比在文件系统中需要“安全/信任巫毒”更好吗?
-
是的,当我们看到这个要求时,我们自己都有些不知所措。我正在寻找可以提供给他们的任何证据,让他们重新考虑他们的非 GAC 政策。
标签: .net sharepoint