Это не ошибка, а функция безопасности. Подробнее о ответ Хуана Мануэля :
Это не проблема, специфичная для VS2008 или Windows 7. Это происходит между любыми приложениями с различными уровнями целостности. В Vista или более поздней версии (Server 2008, Windows 7) это может быть вызвано UAC и повышением уровня некоторых приложений, а других - нет. Приложение с более низким уровнем целостности не может отправлять сообщения в приложение с более высоким уровнем целостности. В вашем случае проводник Windows, работающий как непривилегированный пользователь, не может отправлять сообщения перетаскивания в Visual Studio, которая, как я предполагаю, работает с повышенными правами (как администратор). То же самое произойдет, если вы попытаетесь перетащить файлы в блокнот с повышенными правами, например.
Некоторые обходные пути:
- отключить UIPI, чтобы приложения с более низкой целостностью могли отправлять сообщения в приложения с более высокой целостностью (угроза безопасности)
- отключить UAC, чтобы все ваши приложения (включая Windows Explorer) работали с повышенными правами (большая угроза безопасности)
- запустить Windows Explorer с повышенными правами (рискованно? И, кажется, много работы, чтобы избежать File -> Open)
- использовать Visual Studio без повышенных прав (наименьшая угроза безопасности, но не поддерживает некоторые сценарии, такие как отладка приложений ASP.NET в IIS, iirc)