防止在wsp解决方案卸载/撤消期间删除共享dll

时间:2010-10-19 06:08:45

标签: sharepoint sharepoint-2007 stsadm wsp

我正在开发一系列使用来自Telerik等供应商的第三方DLL的解决方案。我们在大多数解决方案中使用dll。但是,当我卸载任何解决方案时,dll将从程序集中删除。这是一个非常不幸的行为。

我想即使将dll放在bin文件夹中也不会有帮助。因为我可以在同一个Web应用程序中使用多个解决方案。在这种情况下,如果我删除解决方案,它也会从bin文件夹中删除dll。

这个丑陋问题的解决方法是什么?

2 个答案:

答案 0 :(得分:3)

这确实很痛苦。您可以考虑使用ilmerge合并第三方DLL。其他方法可以在Muhimbi的免费SharePoint Coding Guidelines中找到(第8章和第9章)

答案 1 :(得分:1)

一种选择是不在您的个人解决方案中包含第三方DLL。卸载该解决方案时,将删除随解决方案安装的任何内容。您可以拥有一个安装常见DLL的“框架”解决方案。这样,只有在删除框架解决方案时才会删除这些常见的DLL。或者,如果您希望对每个共享DLL进行更精细的控制,则可以为每个共享DLL安装一个解决方案安装程序。

另请参阅有关SharePoint.SE的问题:Multiple solutions using shared dlls can cause havoc when individual solutions are retracted