Como otros han mencionado, depende de varias cosas:
- ¿Cómo es tu entorno?
- ¿Tiene suficientes derechos de acceso para hacer desarrollo?
- ¿Tu HW está preparado para el tabaco?
Medio ambiente
Usar una máquina virtual puede ayudar si está trabajando en varias versiones de un proyecto; múltiples proyectos; o apuntar a un sistema operativo diferente del que normalmente ejecuta (sistema operativo host). Hago mucho trabajo de SharePoint y poder ejecutar una máquina diferente para las diferentes versiones de una versión es útil, ya que puedo iniciar una máquina diferente y tener una buena idea del estado de la base de datos / GAC. Además, si necesita apuntar a un entorno de aplicación * nix pero tiene una máquina Windows, aún puede desarrollar en una VM (así es como estoy aprendiendo Ruby en casa, aunque generalmente hago trabajo de desarrollo de .NET). En general, defiendo cuando hago pruebas de desarrollo ASP.NET / desarrollo en la misma versión de IIS que la aplicación se ejecutará en última instancia (esta misma racional se aplica a otros entornos de destino del servidor). Dependiendo de la versión del sistema operativo, puede haber algunas diferencias pequeñas pero críticas. Tenga en cuenta que esto no implica que deba codificar una versión específica de IIS / OS, pero seamos honestos, realmente tiene que funcionar donde lo va a implementar, no solo en su máquina local.
Las máquinas virtuales también (según el software utilizado) le permiten tomar instantáneas del estado actual de la máquina y / o clonarlas. Esto puede ser invaluable al crear prototipos de algo y no tiene que preocuparse tanto por lo que está sucediendo en su GAC / Registro / etc. También los he encontrado muy valiosos para configurar una demostración de cliente con anticipación. Debido a que el entorno de demostración estaba en una VM, pude continuar trabajando hasta el punto de mostrarle al cliente lo que habíamos completado porque estaba trabajando en una máquina diferente .
Derechos suficientes
Esto generalmente se aplica a las personas que trabajan para una empresa con un conjunto bastante estricto de políticas de derechos de acceso. Si no puede tener un administrador sin restricciones en su máquina, este sería un buen momento para trabajar en una máquina virtual. Por lo general, los poderes solo están preocupados por bloquear el sistema operativo host, el invitado puede estar abierto (permisos). Me he encontrado con problemas extraños con perfiles móviles, derechos de administrador paralizados y con VS 2010; El uso de una máquina virtual me permitió evitar estos problemas.
¿Tu HW está preparado para el tabaco?
Esto se reduce a que sus imágenes de VM estén en un servidor y su control remoto en ellas O las ejecute localmente. Si está ejecutando en el servidor, entonces la mayor preocupación probablemente será si hay demasiadas máquinas virtuales en el mismo hardware. A nivel local, básicamente, desea mucha RAM y minimizar la frecuencia con la que sobrecarga el búfer R / W para su disco duro. Para el desarrollo básico de LOB / SharePoint / ASP.NET, he encontrado que un mínimo de 8 GB de RAM y una configuración de disco duro dual funcionan bien en la práctica (ejecutando un i5 pero también he trabajado con un Core 2). El segundo disco duro marca la mayor diferencia en el rendimiento.
Nota: No tengo estadísticas para respaldar esto, pero he notado que Virtual PC tiene una tendencia a tener un rendimiento inferior en comparación con VMWare y Virtual Box. No puedo hablar con Hyper-V ya que no he trabajado con él. No me sorprendería si usara Virtual PC (como una incursión inicial en el uso de máquinas virtuales) el desarrollador hastiado de usar software de virtualización.