Как уже упоминали другие, это зависит от нескольких вещей:
- Как выглядит ваша среда?
- Достаточно ли у вас прав доступа для разработки?
- Ваш HW нюхает?
Среда
Использование ВМ может помочь, если вы работаете над несколькими версиями проекта; несколько проектов; или нацеливание на другую ОС, отличную от той, которую вы обычно запускаете (ОС хоста). Я много работаю над SharePoint, и возможность запуска другой машины для разных версий выпуска полезна, поскольку я могу просто запустить другую машину и хорошо оценить состояние GAC / базы данных. Также, если вам нужно ориентироваться на среду приложений * nix, но иметь компьютер с Windows, вы все равно можете заниматься разработкой на виртуальной машине (именно так я изучаю Ruby дома, хотя обычно я работаю с .NET dev). Обычно я выступаю за тестирование / разработку ASP.NET на той же версии IIS, под которой в конечном итоге будет работать приложение (это же относится и к другим целевым средам сервера). В зависимости от версии ОС могут быть небольшие, но критические различия. Обратите внимание, что это не означает, что вы должны писать код для конкретной версии IIS / OS, но давайте будем честными, это действительно, действительно должно работать там, где вы собираетесь развернуть его, а не только на вашей локальной машине.
Кроме того, виртуальные машины (в зависимости от используемого программного обеспечения) позволяют делать снимки текущего состояния машины и / или клонировать их. Это может иметь неоценимое значение при создании прототипа, и вам не нужно беспокоиться о том, что происходит в вашем GAC / реестре / и т. Д. Я также нашел их очень ценными при предварительной настройке клиентской демонстрации. Поскольку демонстрационная среда была на виртуальной машине, я мог продолжать работать вплоть до момента, когда клиент мог показать, что мы выполнили, потому что я работал на другой машине .
Достаточные права
Как правило, это относится к людям, которые работают в компании с довольно строгим набором политик для прав доступа. Если вы не можете иметь неограниченного администратора на своем компьютере, то это подходящее время для работы на виртуальной машине. Обычно полномочия беспокоятся только о блокировке вашей хост-ОС, гость может быть широко открыт (с точки зрения разрешений). Я столкнулся со странными проблемами с перемещаемыми профилями, ограниченными правами администратора и запуском VS 2010; использование виртуальной машины позволило мне избежать этих проблем.
Ваш HW нюхает?
Это сводится к тому, что ваши образы виртуальных машин находятся на сервере, а ваш удаленный - в них, ИЛИ вы запускаете их локально. Если вы работаете на сервере, то, вероятно, самой большой проблемой будет слишком много виртуальных машин, работающих на одном и том же оборудовании. Локально, вы в основном хотите много оперативной памяти и минимизировать частоту перегрузки буфера R / W для вашего жесткого диска. Для базовой разработки LOB / SharePoint / ASP.NET я обнаружил, что минимум 8 ГБ ОЗУ и конфигурация с двумя жесткими дисками на практике работают очень хорошо (работает на i5, но я также работал с Core 2). Второй жесткий диск имеет самое большое значение в производительности.
Примечание. У меня нет статистики, подтверждающей это, но я заметил, что Virtual PC имеет тенденцию к снижению производительности по сравнению с VMWare и Virtual Box. Я не могу говорить с Hyper-V, так как я не работал с ним. Я не удивлюсь, если использование Virtual PC (как начальный шаг в использовании виртуальных машин) заставит разработчиков использовать программное обеспечение для виртуализации.