С SharePoint вы можете использовать Feature Receiver для выполнения некоторых действий при установке / удалении компонента и т. Д.
Приемник функций запускается из службы OWSTIMER, и процесс выглядит примерно
- .wsp (файл cab) распаковывается и проверяется
- .dll перемещены в bin / gac
- Получатели функций, отмеченные в манифесте, вызываются (могут быть только в GAC) службой
Однако OWSTIMER сохраняет дескриптор открытой на dll, содержащей получатель функции.
Это означает, что при удалении функции Fusion переместит dll в каталог c: \ windows \ temp \ и сохранит ссылку. (Подробнее здесь и здесь )
Когда вы попытаетесь установить новую версию (версия файла сборки отличается, но версия сборки должна остаться прежней) OWSTIMER запустит приемник функции OLD.
Вы можете остановить это, перезапустив службу OWSTIMER, но это не практично в среде рабочей фермы, где может быть много веб-серверов.
Кто-нибудь знает какие-нибудь обходные пути?