jueves, 22 de octubre de 2015





1)    QUE ES EL FRAMEWORK EN .NET


.NET Framework es un entorno de ejecución administrado que proporciona diversos servicios a las aplicaciones en ejecución. Consta de dos componentes principales: Common Language Runtime (CLR), que es el motor de ejecución que controla las aplicaciones en ejecución, y la biblioteca de clases de .NET Framework, que proporciona una biblioteca de código probado y reutilizable al que pueden llamar los desarrolladores desde sus propias aplicaciones. Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los siguientes:

  • Administración de la memoria. En muchos lenguajes de programación, los programadores son responsables de asignar y liberar memoria y de administrar la vida útil de los objetos. En las aplicaciones de .NET Framework, CLR proporciona estos servicios en nombre de la aplicación.
  • Sistema de tipos comunes. En los lenguajes de programación tradicionales, el compilador define los tipos básicos, lo que complica la interoperabilidad entre lenguajes. En .NET Framework, los tipos básicos los define el sistema de tipos de .NET Framework y son comunes a todos los lenguajes que tienen como destino .NET Framework.
  • Biblioteca de clases extensa. En lugar de tener que escribir cantidades extensas de código para controlar operaciones comunes de programación de bajo nivel, los programadores pueden usar una biblioteca de tipos accesible en todo momento y sus miembros desde la biblioteca de clases de .NET Framework.
  • Frameworks y tecnologías de desarrollo. .NET Framework incluye bibliotecas para determinadas áreas de desarrollo de aplicaciones, como ASP.NET para aplicaciones web, ADO.NET para el acceso a los datos y Windows Communication Foundation para las aplicaciones orientadas a servicios.
  • Interoperabilidad de lenguajes. Los compiladores de lenguajes cuya plataforma de destino es .NET Framework emiten un código intermedio denominado Lenguaje intermedio común (CIL), que, a su vez, se compila en tiempo de ejecución a través de Common Language Runtime. Con esta característica, las rutinas escritas en un lenguaje están accesibles a otros lenguajes, y los programadores pueden centrarse en crear aplicaciones en su lenguaje o lenguajes preferidos.
  • Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se desarrollan con una versión determinada de .NET Framework se pueden ejecutar sin modificaciones en una versión posterior.
  • Ejecución en paralelo. .NET Framework ayuda a resolver conflictos entre versiones y permite que varias versiones de Common Language Runtime coexistan en el mismo equipo. Esto significa que también pueden coexistir varias versiones de las aplicaciones, y que una aplicación se puede ejecutar en la versión de .NET Framework con la que se compiló.
  • Compatibilidad con múltiples versiones (multi-targeting). Al usar la Biblioteca de clases portable de .NET Framework, los desarrolladores pueden crear ensamblados que funcionen en varias plataformas, como Windows 7, Windows 8, Windows 8.1, Windows Phone y Xbox 360. 
2)    DIGA LAS DIFERENCIAS QUE PUEDE ENCONTRAR EN LAS ULTIMAS 3 VERSIONES DE FRAMEWORK DE .NET

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
4
  • Compilación con .NET Native
  • ASP.NET Core 5
  • Mejoras de seguimiento de eventos
  • Compatibilidad para codificaciones de página
  • Más...
2015, aunque algunas bibliotecas .NET están disponibles en NuGet.Para obtener más información, consulte .NET Framework y versiones fuera de banda.
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)

(consulte las instrucciones)
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
  • Más...
-
+ 8.1
+ 8
+ 7
+ Vista
+ 2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use ReleaseDWORD: 379893
(consulte las instrucciones)
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
  • Más...
2013
8.1
+ 8
+ 7
+ Vista
2012 R2
+ 2012
+ 2008 R2 SP1
+ 2008 SP2
Use ReleaseDWORD:
  • 378675 (Windows 8.1)
  • 378758 (el resto)
(consulte las instrucciones)
4.5
4
  • Compatibilidad con aplicaciones de la Tienda Windows
  • Actualizaciones de WPF, WCF, WF, ASP.NET
  • Más...
2012
8
+ 7
+ Vista
2012
+ 2008 R2 SP1
+ 2008 SP2
Use ReleaseDWORD: 378389
(consulte las instrucciones)
4
4
  • Bibliotecas de clases base ampliadas
  • Desarrollo multiplataforma con la Biblioteca de clases portable
  • MEF, DLR, contratos de código
  • Más…
2010
+ 7
+ Vista
+ 2008 R2 SP1
+ 2008 SP2
+ 2003
Consulte las instrucciones
3.5
2.0
  • Sitios web compatibles con AJAX
  • LINQ
  • Datos dinámicos
  • Más…
2008
10 8.1*
8*
7
+ Vista
2008 R2 SP1*
+ 2012 R2
+ 2012
+ 2008 SP2
+ 2003
Consulte las instrucciones
3.0
2.0
  • WPF, WCF, WF, CardSpace
-
Vista
2008 R2 SP1*
2008 SP2*
+ 2003
Consulte las instrucciones
2.0
2.0
  • Genéricos
  • Adiciones de ASP.NET
  • Más…
2005
-
2008 R2 SP1
2008 SP2
2003
Consulte las instrucciones
1.1
1.1
  • Actualizaciones de ASP.NET y ADO.NET
  • Ejecución en paralelo
  • Más…
2003
-
2003
Consulte las instrucciones
1.0
1.0
Primera versión de .NET Framework.
Visual Studio .NET
-
-
Consulte las instrucciones
Por lo general, no conviene desinstalar ninguna de las versiones de .NET Framework instaladas en el equipo, ya que una determinada aplicación podría depender de una versión concreta y dejar de funcionar si se quita esa versión. Puede cargar varias versiones de .NET Framework en un único equipo simultáneamente. Esto significa que puede instalar .NET Framework sin tener que desinstalar las versiones anteriores.

3)    QUE ES EL IDE
El entorno de desarrollo integrado (IDE) de Visual C# es un conjunto de herramientas de desarrollo expuestas a través de una interfaz de usuario común. Algunas de las herramientas se comparten con otros lenguajes de Visual Studio, y otras, como el compilador de C#, son exclusivas de Visual C#. La documentación de esta sección describe de forma general cómo utilizar las herramientas más importantes de Visual C# mientras se trabaja en el IDE en distintas fases del proceso de desarrollo. 

 

Cómo expone las herramientas el IDE



Puede interactuar con las herramientas a través de ventanas, menús, páginas de propiedades y asistentes en el IDE. La siguiente imagen representa el IDE básico:
Puede tener acceso rápidamente a las ventanas de herramientas o archivos abiertos presionando CTRL + TAB.

Personalizar el IDE

 

En Visual C#, todas las ventanas pueden ser acoplables o flotantes, estar ocultas o visibles o cambiarse de ubicación. Para cambiar el comportamiento de una ventana, haga clic en el icono de flecha abajo o de pin de la barra de título y seleccione entre las opciones disponibles. Para mover una ventana acoplada a una nueva ubicación, arrastre la barra de título hasta que aparezcan los iconos de colocación de la ventana. Mantenga presionado el botón primario del mouse y mueva el puntero del mouse sobre el icono en la nueva ubicación. Coloque el puntero sobre los iconos izquierdo, derecho, superior o inferior para acoplar la ventana en el lado especificado. Coloque el puntero sobre el icono del medio para transformar la ventana en una ventana con fichas. Mientras coloca el puntero, aparece un rectángulo azul semitransparente que indica dónde se acoplará la ventana en la nueva ubicación.


4)    QUE ES EL CLR

Common Language Runtime (CLR)

.NET Framework proporciona un entorno en tiempo de ejecución denominado Common Language Runtime, que ejecuta el código y proporciona servicios que facilitan el proceso de desarrollo.

Los compiladores y las herramientas exponen la funcionalidad de Common Language Runtime y permiten escribir código con las ventajas que proporciona este entorno de ejecución administrado. El código desarrollado con un compilador de lenguaje orientado al tiempo de ejecución se denomina código administrado. Este código se beneficia de características como: la integración entre lenguajes, el control de excepciones entre lenguajes, la seguridad mejorada, la compatibilidad con la implementación y las versiones, un modelo simplificado de interacción y servicios de generación de perfiles y depuración.

Para permitir al motor en tiempo de ejecución proporcionar servicios al código administrado, los compiladores de lenguajes deben emitir metadatos que describen los tipos, los miembros y las referencias del código. Los metadatos se almacenan con el código; cada archivo ejecutable portable (PE) de Common Language Runtime cargable contiene metadatos. El motor en tiempo de ejecución utiliza los metadatos para localizar y cargar clases, colocar instancias en memoria, resolver invocaciones a métodos, generar código nativo, exigir mecanismos de seguridad y establecer los límites del contexto en tiempo de ejecución.
El tiempo de ejecución controla automáticamente la disposición de los objetos y administra las referencias a éstos, liberándolos cuando ya no se utilizan. Los objetos cuya duración se administra de esta forma se denominan datos administrados. La recolección de elementos no utilizados elimina pérdidas de memoria así como otros errores habituales de programación. Con un código administrado se pueden utilizar datos administrados, datos no administrados o estos dos tipos de datos en una aplicación .NET Framework. Como los compiladores de lenguajes proporcionan sus propios tipos, como tipos primitivos, no siempre se sabe (o no es necesario saber) si los datos se están administrando.
Common Language Runtime facilita el diseño de los componentes y de las aplicaciones cuyos objetos interactúan entre lenguajes distintos. Los objetos escritos en lenguajes diferentes pueden comunicarse entre sí, lo que permite integrar sus comportamientos de forma precisa. Por ejemplo, puede definir una clase y, a continuación, utilizar un lenguaje diferente para derivar una clase de la clase original o llamar a un método de la clase original. También se puede pasar al método de una clase una instancia de una clase escrita en un lenguaje diferente. Esta integración entre lenguajes diferentes es posible porque los compiladores y las herramientas de lenguajes orientados al motor en tiempo de ejecución utilizan un sistema de tipos común definido por el motor en tiempo de ejecución, y los lenguajes siguen las reglas en tiempo de ejecución para definir nuevos tipos, así como para crear, utilizar, almacenar y enlazar tipos.
Como parte de los metadatos, todos los componentes administrados contienen información sobre los componentes y los recursos utilizados en su compilación. El motor en tiempo de ejecución utiliza esta información para garantizar que el componente o la aplicación contienen las versiones especificadas de todo lo necesario, por lo que hay menos posibilidades de que la ejecución del código se interrumpa debido a una dependencia inadecuada. La información de registro y los datos de estado ya no se almacenan en el Registro, donde puede ser difícil establecer y mantener datos. En su lugar, la información sobre tipos definidos por el usuario (y sus dependencias) se almacena con el código como metadatos y, de este modo, las tareas de replicación y eliminación de componentes es mucho menos complicada.

Las herramientas y los compiladores de lenguajes exponen la funcionalidad del motor en tiempo de ejecución de forma que resulte útil e intuitiva para los programadores. Esto significa que algunas características en tiempo de ejecución pueden ser más evidentes en un entorno que en otro. El funcionamiento del motor en tiempo de ejecución depende de las herramientas y los compiladores utilizados. Por ejemplo, un programador de Visual Basic observará que con Common Language Runtime, el lenguaje Visual Basic contiene más características orientadas a objetos que antes. El motor en tiempo de ejecución ofrece las siguientes ventajas:

·         Mejoras en el rendimiento.

·         Capacidad para utilizar fácilmente componentes desarrollados en otros lenguajes.

·         Tipos extensibles que proporciona una biblioteca de clases

·         Características del lenguaje como herencia, interfaces y sobrecarga para la programación orientada a objetos.

·         Compatibilidad con subprocesamiento libre explícito que permite la creación de aplicaciones multiprocesos escalables.

·         Compatibilidad con el control de excepciones estructurado.

·         Compatibilidad con atributos personalizados.

·         Recolección de elementos no utilizados.

·         Emplee delegados en lugar de punteros a funciones para mayor seguridad y protección de tipos. 

Versiones de Common Language Runtime

El número de versión de .NET Framework no se corresponde necesariamente con el número de versión del CLR que incluye. En la tabla siguiente se muestra cómo se correlacionan ambos números de versión.

Versión de .NET Framework
Incluye la versión de CLR
1.0
1.0
1.1
1.1
2.0
2.0
3.0                                               
2.0
3.5
2.0
4
4
4.5 (incluidas 4.5.1 y 4.5.2)
4


No hay comentarios:

Publicar un comentario