gacutil “access is denied”
среда, 10 октября 2007Предисловие.
В текущем проекте есть надобность по Post-biuld event-у регестрировать dll-ку в gac-e и перезапускать IIS чтобы Sharepoint приложение поднимала уже обновлённую dll-ку. И в чем казалось бы загвоздка, написал
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /i "$(TargetPath)" /f
и будь счастлив, ан нет, не всегда всё так просто.
Суть проблемы
И вот беда — с некой периодичностью сие добро падало с мессагой что-то из разряда “Access denied to assembly.. “. Виделось минимум 2-ва возможных источника данного безобразия, либо dll держит SharePoint и IIS же с ним, или сама VS-я, а с учетом того что особенно часто происходило сие почему-то после debug-а, глаз подозрительно косился в сторону VS-и.
Однако манипуляции по перезагрузке как IIS так и VS-и не всегда изменяли сложившуюся ситуацию, только рестар всей системы в целом давал 100% результат :), однако, как известно, это не путь джедая. Становилось ясно что проблема кроется в другом (и было желание поиска и была надежда что проблема всё же не в генах :)…
Луч надежды
Как подсказали добрые люди и всеобъемлющий Google, всему виной Indexing Service, который по весьма сомнительным причинам как-то держал нужную мне dll. И заулюлюкало и заплясало и возрадовались дети…
P.S.
Так как по окончанию регистрации dll-к и иных манипуляция всегда рестартился IIS а соответственно и SharePoint приложение, в начале данных манипуляция, для пущей надежности, еще добавил
taskkill /IM w3wp.exe /F.
P.S
Хм, наблюдал ещё раз выпадения gatutil, однако обошлось ребилдом solution-а, странно всё это как-то…
Комментарии |
rss |