我正在研究一系列使用来自 Telerik 等供应商的第三方 DLL 的解决方案。我们在您的大多数解决方案中都使用 dll。但是,当我卸载任何解决方案时,dll 将从程序集中删除。这是一种非常不幸的行为。
我想即使将 dll 放在 bin 文件夹中也无济于事。因为我可以在同一个 Web 应用程序中使用多个解决方案。在这种情况下,如果我删除解决方案,它也会从 bin 文件夹中删除 dll。
这个丑陋问题的解决方法是什么?
我正在研究一系列使用来自 Telerik 等供应商的第三方 DLL 的解决方案。我们在您的大多数解决方案中都使用 dll。但是,当我卸载任何解决方案时,dll 将从程序集中删除。这是一种非常不幸的行为。
我想即使将 dll 放在 bin 文件夹中也无济于事。因为我可以在同一个 Web 应用程序中使用多个解决方案。在这种情况下,如果我删除解决方案,它也会从 bin 文件夹中删除 dll。
这个丑陋问题的解决方法是什么?
这确实很痛苦。您可以考虑在使用 ilmerge 时合并 3rd 方 DLL。其他方法可以在 Muhimbi 的免费SharePoint 编码指南(第 8 章和第 9 章)中找到
一种选择是不在您的个人解决方案中包含第三方 DLL。卸载该解决方案时,将删除随该解决方案安装的任何内容。您可以拥有一个安装常用 DLL 的“框架”解决方案。这样,只有在您删除框架解决方案时才会删除这些常见的 DLL。或者,如果您想对它们进行更细粒度的控制,您可以为每个共享 DLL 提供一个解决方案安装程序。
另请参阅 SharePoint.SE 上的问题:使用共享 dll 的多个解决方案可能会在收回单个解决方案时造成严重破坏