Предотвращение удаления общего DLL во время удаления / отвода решения WSP
Я работаю над кучей решений, в которых используется сторонняя DLL от таких поставщиков, как Telerik. Мы используем DLL в большинстве ваших решений. Но когда я удаляю любое из решений, dll удаляется из сборки. Это очень неудачное поведение.
Я предполагаю, что даже помещение dll в папку bin не поможет. Потому что я могу использовать несколько решений в одном веб-приложении. В этом случае, если я удаляю по решению, он также удаляет DLL из папки bin.
Как обойти эту уродливую проблему?
2 ответа
Это действительно больно. Вы можете рассмотреть возможность слияния сторонних библиотек DLL с использованием ilmerge. Дополнительные подходы можно найти в бесплатных Рекомендациях Мухимби по кодированию SharePoint (главы 8 и 9).
Один из вариантов - не включать сторонние библиотеки DLL в ваши индивидуальные решения. Все, что устанавливается вместе с решением, будет удалено при удалении этого решения. У вас может быть "каркасное" решение, которое устанавливает общие библиотеки DLL. Таким образом, эти распространенные библиотеки DLL удаляются только в том случае, если вы удаляете свое инфраструктурное решение. Или вы можете иметь один установщик решения для каждой общей библиотеки DLL, если вы хотите более детальный контроль над ними.
См. Также вопрос о SharePoint.SE. Несколько решений, использующих общие библиотеки DLL, могут привести к хаосу, когда отдельные решения отозваны.