我有一个带有可视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?
答案 0 :(得分:0)
尝试:
将WebPart /程序集部署目标更改为“WebApplication”(而不是GAC);
撤回解决方案并从GAC中删除相应的程序集;
将解决方案与程序集一起重新构建并重新部署到SharePoint Bin文件夹(选定的“WebApplication”部署目标)。
是否所有必要的程序集都复制到Bin文件夹?在这种情况下解决方案是否有效?