Sharepoint 具有引用DLL的可视Web部件未检查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和其他webpart.dll添加到虚拟目录/bin中,并成功运行 如何让SharePoint在GAC中查看ClassLibraryB.dll和其他WebPart.dll?或者我必须手动将DLL部署到站点的虚拟目录/bin吗?尝试:Sharepoint 具有引用DLL的可视Web部件未检查GAC,sharepoint,web-parts,gac,Sharepoint,Web Parts,Gac,我有一个带有可视web部件的SharePoint项目(WebPartA继承自OtherWebPartC)-web部件引用两个DLL(ClassLibraryB和OtherWebPartC),它们包含在包中,设置为部署到GAC 部署项目时,DLL成功部署到GAC,web部件成功显示在SharePoint的库中 但是,当我尝试将可视web部件(WebPartA)添加到页面时,页面会中断—我启用了错误显示和堆栈跟踪—它表示找不到ClassLibraryB.dll。我使用fuslogvw和procmon
- 将Web部件/程序集部署目标更改为“WebApplication”(而不是GAC)
- 收回溶液并从GAC中移除相应组件
- 重新生成解决方案并将其与程序集一起重新部署到SharePoint Bin文件夹(选定的“WebApplication”部署目标)
是否将所有必需的程序集复制到Bin文件夹?解决方案在这种情况下有效吗?您是否确认您的程序集位于GAC中(而不仅仅是您的解决方案已部署)?你是如何引用程序集的?是的-我已经确认程序集在GAC中-我引用了项目中的DLL,并已将它们添加到项目中的包中。引用是在代码隐藏中使用还是在页面/控件上使用@Register?请确保部署到GAC的程序集已签名且具有强名称。是的,它们已签名且具有强名称