# Microsoft Visual Studio

Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para Windows y macOS. Es compatible con múltiples lenguajes de programación, tales como C++, C#, Fortran, Visual Basic .NET, F#, Java, Python, Ruby y PHP, al igual que entornos de desarrollo web, como ASP.NET MVC, Django, etc., a lo cual hay que sumarle las nuevas capacidades en línea bajo Windows Azure en forma del editor Mónaco.
Visual Studio permite a los desarrolladores crear sitios y aplicaciones web, así como servicios web en cualquier entorno compatible con la plataforma .NET (a partir de la versión .NET 2002). Así, se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos y videoconsolas, entre otros.

## Versiones

A partir de la versión 2005, Microsoft lanzó gratuitamente las ediciones Express, que son versiones básicas separadas por lenguajes de programación o plataforma orientadas a estudiantes y programadores aficionados. Estas ediciones son similares a las ediciones comerciales pero carecen de ciertas características avanzadas de integración. Dichas ediciones son:
* Visual Basic Express Edition
* Visual C# Express Edition
* Visual C++ Express Edition
* Visual Web Developer Express Edition (para programar en ASP.NET)
* Visual F# (Apareció en Visual Studio 2010, es parecido al J#)
* Windows Phone 8 SDKk
* Windows Azure SDK
Microsoft también publicó de forma gratuita una versión reducida de Microsoft SQL Server llamada SQL Server Express Edition, cuyas únicas limitaciones son que no soporta bases de datos superiores a 4 GB de tamaño, se ejecuta en un procesador y no cuenta con el Agente de SQL Server.
En el pasado se incluyeron los siguientes productos:
* Visual InterDev
* Visual J++
* Visual FoxPro
* Visual SourceSafe

## Historia
### Visual Studio 6.0

Visual Studio 6.0 es la segunda versión de la suite de desarrollo de Microsoft. Fue lanzada en 1998 y fue la última versión en ejecutarse en la plataforma Win9x. Los números de versión de todas las partes constituyentes pasaron a 6.0, incluyendo Visual J++ y Visual InterDev, que se encontraban en las versiones 1.1 y 1.0 respectivamente. Esta versión fue la base para el sistema de desarrollo de Microsoft por los siguientes cuatro años, en los que Microsoft cambió su estrategia de desarrollo al .NET Framework.
Visual Studio 6.0 fue la última versión en que Visual Basic se incluía de la forma en que se conocía hasta entonces; en versiones posteriores se incorporaría una versión muy diferente del lenguaje con muchas mejoras, fruto de la plataforma .NET. Esta también fue la última versión en incluir Visual J++, que proporcionaba extensiones de la plataforma Java, lo que lo hacía incompatible con la versión de Sun Microsystems. Esto acarreó problemas legales a Microsoft, que se resolvieron mediante un acuerdo en el que Microsoft deja de comercializar herramientas de programación que utilizaran la máquina virtual Java.
Aunque el objetivo a largo plazo de Microsoft era unificar todas las herramientas en un único entorno, en esta versión solamente se añadió un entorno a Visual Studio 5.0: Visual J++ y Visual InterDev se separaron del entorno de Visual C++, pero Visual FoxPro y Visual Basic mantuvieron su entorno específico.

### Visual Studio .NET (2002)

En esta versión se produjo un cambio sustancial, puesto que supuso la introducción de la plataforma .NET de Microsoft. .NET es una plataforma de ejecución intermedia multilenguaje, de forma que los programas desarrollados en .NET no se compilan en lenguaje máquina, sino en un lenguaje intermedio (CIL - Common Intermediate Language) denominado Microsoft Intermediate Language (MSIL). En una aplicación MSIL, el código no se convierte a lenguaje máquina hasta que se ejecuta, de manera que el código puede ser independiente de la plataforma (al menos de aquellas soportadas actualmente por .NET). Las plataformas han de tener una implementación de Infraestructura de Lenguaje Común (CLI) para poder ejecutar programas MSIL. Actualmente se pueden ejecutar programas MSIL en Linux y Mac OS X usando implementaciones de .NET que no son de Microsoft, tales como Mono y DotGNU.
Visual Studio .NET 2002 supuso también la introducción del lenguaje C#, un lenguaje nuevo diseñado específicamente para la plataforma .NET con base en C++ y Java. Se presentó también el lenguaje J# (sucesor de J++), el cual, en lugar de ejecutarse en una máquina virtual Java, se ejecuta únicamente en el Framework .NET. En .NET, lenguaje Visual Basic fue remodelado completamente y evolucionó para adaptarse a las nuevas características de la plataforma .NET, haciéndolo mucho más versátil y dotándolo con muchas características. Algo similar se llevó a cabo con C++, añadiendo extensiones al lenguaje llamadas Managed Extensions for C++, con el fin de que los programadores pudieran crear programas en .NET. Todos los lenguajes disponibles se unifican en un único entorno. La interfaz mejora notablemente en esta versión, siendo más limpia y personalizable. Por otra parte, Visual FoxPro pasa a comercializarse por separado.
Visual Studio .NET puede usarse para crear programas basados en Windows (usando Windows Forms en vez de COM), aplicaciones y sitios web (ASP.NET y servicios web), al igual que dispositivos móviles (usando el .NET Compact Framework).
Esta versión requiere un sistema operativo basado en NT. La versión interna de Visual Studio .NET es la 7.0.

### Visual Studio .NET 2003

Visual Studio .NET 2003 supone una actualización menor de Visual Studio .NET. Se actualiza el .NET Framework a la versión 1.1. También se añade soporte con el fin de escribir aplicaciones para determinados dispositivos móviles, ya sea con ASP.NET o con el .NET Compact Framework. Además, el compilador de Visual C++ se mejora para cumplir con más estándares: el Visual C++ Toolkit 2003.
Visual Studio 2003 se lanza en cuatro ediciones: Academic, Professional, Enterprise Developer y Enterprise Architect. La edición Enterprise Architect incluía una implementación de la tecnología de modelado Microsoft Visio, que se centraba en la creación de representaciones visuales de la arquitectura de la aplicación basadas en UML. También se introdujo "Enterprise Templates", para ayudar a grandes equipos de trabajo a estandarizar estilos de programación e impulsar políticas de uso de componentes y asignación de propiedades.
Microsoft lanzó el Service Pack 1 para Visual Studio 2003 el 13 de septiembre de 2006.
La versión interna de Visual Studio .NET 2003 es la 7.1, aunque el formato del archivo que emplea es el de la 8.0.
Es compatible solo con Windows XP, Windows Server 2003 o versiones anteriores.

### Visual Studio 2005

Visual Studio 2005 se empezó a comercializar a través de Internet a partir del 4 de octubre de 2005, y la versión en inglés llegó a los comercios a finales del mes de octubre. La versión en castellano no vio la luz hasta el 4 de febrero de 2006. Microsoft eliminó el .NET de su nombre, pero eso no indica que sea diferente o rompedor respecto a la plataforma .NET, cuya versión 2.0 se incluyó en esta.
La actualización más importante que recibieron los lenguajes de programación fue la inclusión de tipos genéricos, similares en muchos aspectos a las plantillas de C++. El objetivo de esta actualización es conseguir encontrar muchos más errores en la compilación en vez de en la ejecución, incitando a usar comprobaciones estrictas en áreas donde antes no era posible. C++ tiene una actualización similar con la adición de C++/CLI como sustituto de C# manejado.
Se incluye un diseñador de implantación, que permite que el diseño de la aplicación sea validado antes de su implantación, así como un entorno para publicación web y pruebas de carga para comprobar el rendimiento de los programas bajo varias condiciones de carga.
Visual Studio 2005 también añade soporte para arquitecturas de 64 bits. Aunque el entorno de desarrollo sigue siendo una aplicación de 32 bits, Visual C++ 2005 soporta compilación para x86-64 (AMD64, Intel 64) e IA-64 (Itanium). El SDK incluye compiladores de 64 bits, así como versiones de 64 bits de las librerías.
Visual Studio 2005 tiene varias ediciones radicalmente distintas entre sí: Express, Standard, Professional, Tools for Office y cinco ediciones Visual Studio Team System. Estas últimas se proporcionaban conjuntamente con suscripciones a MSDN cubriendo los cuatro principales roles de la programación: Architects, Software Developers, Testers y Database Professionals. La funcionalidad combinada de las cuatro ediciones, Team System, se ofrecía como la edición Team Suite. Por otra parte, Tools for the Microsoft Office System está diseñada para extender la funcionalidad a Microsoft Office.
Las ediciones Express se han diseñado para principiantes, aficionados y pequeños negocios, todas disponibles gratuitamente a través de la página de Microsoft. Se incluye una edición independiente para cada lenguaje: Visual Basic, Visual C++, Visual C#, Visual J# para programación .NET en Windows y Visual Web Developer para la creación de sitios web ASP.NET. Las ediciones Express carecen de algunas herramientas avanzadas de programación, así como de opciones de extensibilidad.
El 14 de diciembre de 2006, también se lanzó el Service Pack 1 para Visual Studio 2005.
La versión interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo que emplea es el de la 9.0.

### Visual Studio 2008

Permite trabajar con los frameworks:
* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5

### Visual Studio 2010

El IDE se rediseña para una mejor legibilidad. Se han eliminado gradientes y líneas innecesarias para simplificar su uso.
Las ventanas de documentos tales como el editor de código y la ventana de la vista diseño ahora pueden colocarse fuera de la ventana IDE. Por ejemplo, puede arrastrar el editor de código en el IDE de modo que se puede ver la ventana de la vista de diseño al lado.
Permite trabajar con los frameworks:
* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5
* .NET Framework 4.0

### Visual Studio 2012

* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5
* .NET Framework 4.0
* .NET Framework 4.5

### Visual Studio 2013

Fue la primera revisión de Visual Studio en incluir una versión Community, que básicamente ofrece las mismas capacidades que la versión Professional pero limitando su uso a empresas de pequeño tamaño, desarrolladores de software libre y estudiantes. La gran ventaja de esta versión de Visual Studio es que es gratuita.
Permite trabajar con los frameworks:
* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5
* .NET Framework 4.0
* .NET Framework 4.5
* .NET Framework 4.5.1
* .NET Framework 4.5.2

### Visual Studio 2015

Permite trabajar con los frameworks:
* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5
* .NET Framework 4.0
* .NET Framework 4.5
* .NET Framework 4.5.1
* .NET Framework 4.5.2
* .NET Framework 4.6
* .NET Framework 4.6.1
* .NET Core 1.0
* .NET Core 1.1
* .NET Core 2.0

### Visual Studio 2017

Permite trabajar con los frameworks:
* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5
* .NET Framework 4.0
* .NET Framework 4.5
* .NET Framework 4.5.1
* .NET Framework 4.5.2
* .NET Framework 4.6
* .NET Framework 4.6.1
* .NET Framework 4.7
* .NET Framework 4.7.1
* .NET Framework 4.7.2
* .NET Core 1.0
* .NET Core 1.1
* .NET Core 2.0
* .NET Core 2.1
* .NET Core 2.2

### Visual Studio 2019

Permite trabajar con los frameworks:
* .NET Framework 2.0
* .NET Framework 3.0
* .NET Framework 3.5
* .NET Framework 4.0
* .NET Framework 4.5
* .NET Framework 4.5.1
* .NET Framework 4.5.2
* .NET Framework 4.6
* .NET Framework 4.6.1
* .NET Framework 4.7
* .NET Framework 4.7.1
* .NET Framework 4.7.2
* .NET Framework 4.8
* .NET Core 1.0
* .NET Core 1.1
* .NET Core 2.0
* .NET Core 2.1
* .NET Core 2.2
* .NET Core 3.0
* .NET Core 3.1
* .NET 5.0
* .NET 6.0

### Visual Studio 2022

Permite trabajar con los frameworks:
* .NET Framework 4.6.2
* .NET Framework 4.7
* .NET Framework 4.7.1
* .NET Framework 4.7.2
* .NET Framework 4.8
* .NET Framework 4.8.1
* .NET Core 2.1
* .NET Core 2.2
* .NET Core 3.0
* .NET Core 3.1
* .NET 5.0
* .NET 6.0
* .NET 8.0
* .NET 9.0
Versiones de Windows compatibles:
* Windows 10 versión 1903
* Windows 10 versión 1809
* Windows 10 versión 1803
* Windows 10 versión 1709
* Windows 10 versión 1703
* Windows 10 versión 1607
* Windows 8.1
* Windows 7 SP1
Versiones de Windows Server compatibles:
* Windows Server 2019
* Windows Server versión 1803
* Windows Server versión 1709
* Windows Server 2016
* Windows Server 2012
* Windows Server 2012 R2
* Windows Server 2008 R2 SP1