【发布时间】:2012-10-29 08:59:05
【问题描述】:
我有一个带有可视 Web 部件(WebPartA 继承自 OtherWebPartC)的 SharePoint 项目 - 该 Web 部件引用了两个 DLL(ClassLibraryB 和 OtherWebPartC),它们包含在包中,设置为部署到 GAC。
当我部署项目时,DLL 已成功部署到 GAC,并且 Web 部件成功显示在 SharePoint 的库中。
但是,当我尝试将可视 Web 部件 (WebPartA) 添加到页面时,页面会中断 - 我启用了错误显示和堆栈跟踪 - 它说找不到 ClassLibraryB.dll。我使用 fuslogvw 和 procmon 确定它正在尝试从典型位置(虚拟目录/bin、临时 asp.net 文件夹)加载 DLL,即使 DLL 不在这些位置(但正如我所说,它已成功部署到 GAC)。
于是我手动将 ClassLibraryB.dll 和 OtherWebPart.dll 添加到虚拟目录/bin 中,并成功运行。
如何让 SharePoint 在 GAC 中查看 ClassLibraryB.dll 和 OtherWebPart.dll?还是我必须手动将 DLL 部署到站点的虚拟目录/bin?
【问题讨论】:
-
您是否确认您的程序集在 GAC 中(不仅仅是您的解决方案已部署)?你是如何引用程序集的?
-
是的 - 我已确认程序集在 GAC 中 - 我在项目中引用了 DLL,并将它们添加到项目中的包中。
-
引用是在代码隐藏中使用还是在使用@Register 的页面/控件上使用?
-
确保部署到 GAC 的程序集已签名并具有强名称。
-
是的,他们已签名并具有强名称
标签: sharepoint web-parts gac