引用DLL的Visual Web部件未检查GAC

时间:2012-11-09 02:35:35

标签: sharepoint web-parts gac

我有一个带有可视Web部件的SharePoint项目(WebPartA继承自OtherWebPartC) - 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?

1 个答案:

答案 0 :(得分:0)

尝试:

  • 将WebPart /程序集部署目标更改为“WebApplication”(而不是GAC);

  • 撤回解决方案并从GAC中删除相应的程序集;

  • 将解决方案与程序集一起重新构建并重新部署到SharePoint Bin文件夹(选定的“WebApplication”部署目标)。

是否所有必要的程序集都复制到Bin文件夹?在这种情况下解决方案是否有效?