Definición Microsoft Net Framework, sus versiones y características de cada una de sus versiones

 Definición Microsoft Net Framework

.NET Framework es una tecnología que soporta la compilación y ejecución de aplicaciones y servicios Web XML de última generación. El diseño de .NET Framework está enfocado a cumplir los siguientes objetivos:
  • Proporcionar un entorno coherente de programación orientada a objetos, en el que el código de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma local pero distribuida en Internet o ejecutar de forma remota.
  • Proporcionar un entorno de ejecución de código que minimiza los conflictos en el despliegue y versionado de software.
  • Ofrecer un entorno de ejecución de código que promueva la ejecución segura del mismo, incluso del creado por terceros desconocidos o que no son de plena confianza.
  • Proporcionar un entorno de ejecución de código que elimine los problemas de rendimiento de los entornos en los que se utilizan scripts o intérpretes de comandos.
  • Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web.
  • Basar toda la comunicación en estándares del sector para asegurar que el código de .NET Framework se puede integrar con otros tipos de código.

.NET Framework consta de dos componentes principales: Common Language Runtime y la biblioteca de clases de .NET Framework. Common Language Runtime es el fundamento de .NET Framework. El motor en tiempo de ejecución se puede considerar como un agente que administra el código en tiempo de ejecución y proporciona servicios centrales, como la administración de memoria, la administración de subprocesos y la comunicación remota, al tiempo que aplica una seguridad estricta a los tipos y otras formas de especificación del código que promueven su seguridad y solidez. De hecho, el concepto de administración de código es un principio fundamental del motor en tiempo de ejecución. El código destinado al motor en tiempo de ejecución se denomina código administrado, a diferencia del resto de código, que se conoce como código no administrado. La biblioteca de clases es una completa colección orientada a objetos de tipos reutilizables que se pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales herramientas de interfaz gráfica de usuario (GUI) o de línea de comandos hasta las aplicaciones basadas en las innovaciones más recientes proporcionadas por ASP.NET, como Web Forms y Servicios Web XML.
.NET Framework puede hospedarse en componentes no administrados que cargan Common Language Runtime en sus procesos e inician la ejecución de código administrado, con lo que se crea un entorno de software en el que se pueden utilizar características administradas y no administradas. En .NET Framework no sólo se ofrecen varios hosts de motor en tiempo de ejecución, sino que también se admite el desarrollo de estos hosts por parte de terceros.
Por ejemplo, ASP.NET hospeda el motor en tiempo de ejecución para proporcionar un entorno de servidor escalable para el código administrado.ASP.NET trabaja directamente con el motor en tiempo de ejecución para habilitar aplicaciones de ASP.NET y servicios Web XML, que se tratan más adelante en este tema.
Internet Explorer es un ejemplo de aplicación no administrada que hospeda el motor en tiempo de ejecución (en forma de una extensión de tipo MIME). Al usar Internet Explorer para hospedar el motor en tiempo de ejecución, puede incrustar componentes administrados o controles de Windows Forms en documentos HTML. Al hospedar el runtime se hace posible el uso de código móvil administrado, pero con mejoras significativas que solo el código administrado puede ofrecer, como la ejecución con confianza parcial y el almacenamiento aislado de archivos.
En la ilustración siguiente se muestra la relación de Common Language Runtime y la biblioteca de clases con las aplicaciones y el sistema en su conjunto. En la ilustración se representa igualmente cómo funciona el código administrado dentro de una arquitectura mayor.
Código administrado dentro de una arquitectura mayor
.NET Framework en contexto
En las secciones siguientes se describen con más detalle las características principales de .NET Framework.

Características de Common Language Runtime

Common Language Runtime administra la memoria, ejecución de subprocesos, ejecución de código, comprobación de la seguridad del código, compilación y demás servicios del sistema. Estas características son intrínsecas del código administrado que se ejecuta en Common Language Runtime.
Con respecto a la seguridad, los componentes administrados reciben grados de confianza diferentes, en función de una serie de factores entre los que se incluye su origen (como Internet, red empresarial o equipo local). Esto significa que un componente administrado puede ser capaz o no de realizar operaciones de acceso a archivos, operaciones de acceso al Registro y otras funciones delicadas, incluso si se está utilizando en la misma aplicación activa.
El motor en tiempo de ejecución impone la seguridad de acceso del código. Por ejemplo, los usuarios pueden confiar en que un archivo ejecutable incrustado en una página Web puede reproducir una animación en la pantalla o entonar una canción, pero no puede tener acceso a sus datos personales, sistema de archivos o red. Por ello, las características de seguridad del motor en tiempo de ejecución permiten que el software legítimo implementado en Internet sea excepcionalmente variado.
Además, el motor en tiempo de ejecución impone la solidez del código mediante la implementación de una infraestructura estricta de comprobación de tipos y código denominada CTS (Common Type System, Sistema de tipos común). CTS garantiza que todo el código administrado es autodescriptivo. Los diversos compiladores de lenguaje de Microsoft y de otros fabricantes generan código administrado que se atiene al CTS. Esto significa que el código administrado puede consumir otros tipos e instancias administrados, al tiempo que se exige fidelidad de tipos y seguridad de tipos estrictamente.
Además, el entorno administrado del motor en tiempo de ejecución elimina muchos problemas de software comunes. Por ejemplo, el motor en tiempo de ejecución controla automáticamente la disposición de los objetos, administra las referencias a éstos y los libera cuando ya no se utilizan.Esta administración automática de la memoria soluciona los dos errores más comunes de las aplicaciones: la pérdida de memoria y las referencias no válidas a la memoria.
Además, el motor en tiempo de ejecución aumenta la productividad del programador. Por ejemplo, los desarrolladores pueden crear aplicaciones en el lenguaje que prefieran y seguir sacando todo el provecho del motor en tiempo de ejecución, la biblioteca de clases y los componentes escritos en otros lenguajes por otros colegas. El proveedor de un compilador puede elegir destinarlo al motor en tiempo de ejecución. Los compiladores de lenguajes que se destinan a .NET Framework hacen que las características de .NET Framework estén disponibles para el código existente escrito en dicho lenguaje, lo que facilita enormemente el proceso de migración de las aplicaciones existentes.
Aunque el motor en tiempo de ejecución está diseñado para el software del futuro, también es compatible con el software actual y el software antiguo. La interoperabilidad entre el código administrado y no administrado permite que los desarrolladores continúen utilizando los componentes COM y las DLL que necesiten.
El motor en tiempo de ejecución está diseñado para mejorar el rendimiento. Aunque Common Language Runtime proporciona muchos servicios estándar de motor en tiempo de ejecución, el código administrado nunca se interpreta. Una característica denominada compilación JIT (Just-In-Time) permite ejecutar todo el código administrado en el lenguaje máquina nativo del sistema en el que se ejecuta. Mientras tanto, el administrador de memoria evita que la memoria se pueda fragmentar y aumenta la zona de referencia de la memoria para mejorar aún más el rendimiento.
Por último, el runtime se puede hospedar en aplicaciones de servidor de gran rendimiento, como Microsoft SQL Server e Internet Information Services (IIS). Esta infraestructura permite utilizar código administrado para escribir lógica empresarial, al tiempo que se disfruta del superior rendimiento de los mejores servidores empresariales del sector que puedan hospedar el motor en tiempo de ejecución.
    
                                      Sus versiones
Versión de .NET Framework
Versión de CRL
Características
Incluido en la versión de Visual Studio
Incluido en
+ Se puede instalar en
Windows
Incluido en
+ Se puede instalar en
Windows Server
Para determinar la versión de .NET instalada
.NET 4.6.2
4
- Mejoras de criptografía, incluida la compatibilidad con certificados X509 que contienen FIS 186-3 DSA, compatibilidad con el cifrado simétrico de clave persistente, compatibilidad conpara SHA-2 de hash y una mayor precisión para entradas de rutinas de derivación de claves ECDiffieHellman.
- Para las aplicaciones de Windows Presentation Foundation (WPF), compatibilidad de teclado en pantalla y PPP del monitor.
- Compatibilidad con ClickOnce para los protocolos TLS 1.1 y TLS 1.2.
- Compatibilidad con la conversión de aplicaciones de Windows Forms y WPF a aplicaciones de UWP.
Actualización de aniversario de Windows 10

+ Actualización de noviembre de Windows 10

+ 10
+ 8.1
+ 7
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use ReleaseDWORD:

- 394802 (Actualización de aniversario de Windows 10)
- 394806 (resto de versiones del sistema operativo)


Net 4.6.1
4
- Compatibilidad con certificados X509 que contienen ECDSA
- Compatibilidad con Always Encrypted para claves protegidas por hardware en ADO.NET
- Corrector ortográfico mejorado en WPF

Actualización de noviembre de Windows 10

+ 10
+ 8.1
+ 8
+ 7
+ 2012 R2
+ 2012
+ 2008 R2 SP1
Use ReleaseDWORD:

- 394254 (actualización de noviembre de Windows 10)
- 394271 (resto de versiones del sistema operativo)


.NET 4.6
4
- Compilación con .NET Native
- ASP.NET Core 5
- Mejoras de seguimiento de eventos
- Compatibilidad para codificaciones de página

2015, aunque algunas bibliotecas de .NET están disponibles en . Para obtener más información,
10
+ 8.1
+ 8
+ 7
+ Vista
+ 2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use ReleaseDWORD:

- 393295 (Windows 10)
- 393297 (el resto de versiones de sistema operativo)


4.5.2
4
- Nuevas API para sistemas transaccionales y ASP.NET
- PPP del sistema que cambia de tamaño en controles de Windows Forms
- Mejoras de generación de perfiles
- Mejoras de ETW y del registro de esfuerzo

-
+ 8.1
+ 8
+ 7
+ Vista
+ 2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Usar DWORD Release: 379893

4.5.1
4
- Compatibilidad con aplicaciones de la Tienda de Windows Phone
- Redirección de enlace automática
- Mejoras de rendimiento y de depuración

2013
8.1
+ 8
+ 7
+ Vista
2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use ReleaseDWORD:

- 378675 (Windows 8.1)
- 378758 (el resto)


4.5
4
- Compatibilidad con aplicaciones de la Tienda Windows
- Actualizaciones de WPF, WCF, WF, ASP.NET

2012
8
+ 7
+ Vista
2012
+ 2008 R2 SP1
+ 2008 SP2
Usar DWORD Release: 378389

4
4
- Bibliotecas de clases base ampliadas
- Desarrollo multiplataforma con la Biblioteca de clases portable
- MEF, DLR, contratos de código

2010
+ 7
+ Vista
+ 2008 R2 SP1
+ 2008 SP2
+ 2003
3.5
2.0
- Sitios web compatibles con AJAX
- LINQ
- Datos dinámicos

2008
10 8.1*
8*
7
+ Vista
2008 R2 SP1*
+ 2012 R2
+ 2012
+ 2008 SP2
+ 2003
3.0
2.0
- WPF, WCF, WF, CardSpace
-
Vista
2008 R2 SP1*
2008 SP2*
+ 2003
2.0
2.0
- Genéricos
- Adiciones de ASP.NET

2005
-
2008 R2 SP1
2008 SP2
2003
Consulte las introduction
1.1
1.1
- Actualizaciones de ASP.NET y ADO.NET
- Ejecución en paralelo

2003
-
2003
1.0
1.0
Primera versión de .NET Framework.
Visual Studio .NET
-
-






               Aquí les dejo un pequeño vídeo





Comentarios