Итак, начнем:
Первый, и, наверно, самый обидный для меня глюк (хотя может это мега фича
) - при изменении настроек проекта (речь идет о стандартном Windows Forms проекте) удаляется код, который именуется как "Application Events".
В приложении лежит простенький проект, на котором можно наглядно посмотреть эту фичу.
Делаем так: открываем проект, запускает debug. Можно увидеть, что весь код выполняется правильно: обрабатывается MyApplication.New, потом Form1.Load. Теперь собственно глюк: заходим в настройки и меняем объект запуска на Sub Main, VS будет ругаться, выключим галочку "Enable application framework" (у меня англ. версия, как переведено в русской не знаю
); запускаем - тоже все нормально: Sub Main, потом Form1.Load; а теперь поменяйте объект запуска обратно на Form1 и запустите отладку.
Я не знаю, может так и надо, так и задумывалось, но по моему это некрасиво: нажатием кнопки удалять (к примеру) пол дня работы
. Можно было бы хоть предупреждение вывести.
Однако замечу, что написано в "Namespace My": "NOTE: This file is auto-generated; do not modify it directly.", но где предупреждение, что код просто тупо удаляется?
____________________
По поводу мелких багов:
>Если в файле проекта большое кол-во кода, то можно его сворачивать. Однако при следующем запуске скорее всего текст свернут не будет (или свернется как-нибудь через непонятно что), я об этом уже писал. Также довольно противно, что вкладки файлов после запуска меняются местами, хотя это уже фигня.
>Потом: постоянно забывает Assembly Version (или может это тоже фича - компильнешь и версия снова 1.0.0.0)
>В Solution Explorer есть папка "Resources", в которой лежат, как не удивительно(
), ресурсы. Однако при удалении их из Solution Explorer`а из проекта они не удаляются, и при компиляции вылазят ошибки. Возможно это тоже так и надо, но, банально, "нафига" отображать ресурсы, которые можно удалить, и при этом не менять проект. БЕСИТ.
____________________
Воссоздать условия ошибки, о которой я писал в первом посте мне не удалось, хотя выяснил, что ругается на объекты "System.Drawing". Помогает поштучное перемещение всех объявленных в этом модуле переменных в другой (и назад при необходимости)
Да, кстати: это ошибки только среды, я не беру в расчет всякие модули и дополнительные функции, просто редактор кода.