Мне было поручено создать надстройку, которая не позволяет разработчикам изменять структуру решения: им разрешено редактировать код, но не перемещать файлы, проекты или фильтры или переименовывать объекты. Причина в том, что команды сборки перехватываются надстройкой и передаются в пользовательский инструмент сборки.
Я знаю, что есть надстройки, которые делают это, так что это возможно. Кто-нибудь здесь знает, какие интерфейсы в EnvDTE или VSIP использовать, чтобы перехватывать события перетаскивания в обозревателе решений и, возможно, отменять их? Кроме того, как получить дескриптор на этих интерфейсах будет оценено.
Спасибо
ps. Это для Visual Studio версий 2005 и 2008. 2010 будет поддерживать другой API (MEF) для этого.