Diferencia entre revisiones de «Microsoft .NET»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Xqno (discusión · contribs.)
m revirtiendo
Deshecha la edición 30969540 de Xqno (disc.)
Línea 1: Línea 1:
== MICROSOFT.NET ==
{{otros usos|.net|el dominio de Internet}}
[http://sites.google.com/site/moondum/ Temas Relacionados]


[[Archivo:Cuadroxe.jpg|frameless]]
{{referencias}}



{{Ficha de software
otros usos|.net|el dominio de Internet

referencias

Ficha de software
| logo =
| logo =
| nombre = '''Microsoft .NET'''| captura =
| nombre = '''Microsoft .NET'''| captura =
Línea 17: Línea 23:
| sitio_web = [http://www.microsoft.com/NET/ Microsoft .NET Framework]
| sitio_web = [http://www.microsoft.com/NET/ Microsoft .NET Framework]
| español = Sí
| español = Sí

}}


'''.NET''' es un proyecto de [[Microsoft]] para crear una nueva [[plataforma de desarrollo]] de [[software]] con énfasis en transparencia de [[Red de computadoras|redes]], con independencia de plataforma de hardware y que permita un rápido desarrollo de [[Aplicación (informática)|aplicaciones]]. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el [[sistema operativo]] hasta las herramientas de mercado.
'''.NET''' es un proyecto de [[Microsoft]] para crear una nueva [[plataforma de desarrollo]] de [[software]] con énfasis en transparencia de [[Red de computadoras|redes]], con independencia de plataforma de hardware y que permita un rápido desarrollo de [[Aplicación (informática)|aplicaciones]]. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el [[sistema operativo]] hasta las herramientas de mercado.
Línea 23: Línea 29:
.NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos [[Web]], como competencia a la [[plataforma Java]] de [[Sun Microsystems]] y a los diversos [[framework]] de desarrollo web basados en [[PHP]]. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma plataforma las denomina, soluciones– permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.
.NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos [[Web]], como competencia a la [[plataforma Java]] de [[Sun Microsystems]] y a los diversos [[framework]] de desarrollo web basados en [[PHP]]. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma plataforma las denomina, soluciones– permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.



== Consideraciones ==


La plataforma .NET de [[Microsoft]] es un componente de [[software]] que puede ser añadido al [[sistema operativo]] [[Windows]]. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la [[programación]] de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows.
La plataforma .NET de [[Microsoft]] es un componente de [[software]] que puede ser añadido al [[sistema operativo]] [[Windows]]. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la [[programación]] de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows.
Línea 31: Línea 37:
La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que debe implementar la biblioteca de clases base (BCL por sus siglas en inglés, tal vez el más importante de los componentes de la plataforma), define un conjunto funcional mínimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque [[Microsoft]] implementó esta norma para su [[sistema operativo]] [[Windows]], la publicación de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El [[Proyecto Mono]] emprendido por [[Ximian]] pretende realizar la implementación de la norma para varios sistemas operativos adicionales bajo el marco del código abierto.
La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que debe implementar la biblioteca de clases base (BCL por sus siglas en inglés, tal vez el más importante de los componentes de la plataforma), define un conjunto funcional mínimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque [[Microsoft]] implementó esta norma para su [[sistema operativo]] [[Windows]], la publicación de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El [[Proyecto Mono]] emprendido por [[Ximian]] pretende realizar la implementación de la norma para varios sistemas operativos adicionales bajo el marco del código abierto.



== Componentes ==
Los principales componentes del marco de trabajo son:
Los principales componentes del marco de trabajo son:
* El conjunto de [[Lenguaje de programación|lenguajes de programación]]
* El conjunto de [[Lenguaje de programación|lenguajes de programación]]
Línea 41: Línea 47:
Algunos de los lenguajes desarrollados para el '''marco de trabajo .NET''' son: [[C Sharp|C#]], [[Visual Basic]], [[Delphi]] ([[Object Pascal]]), [[C más más|C++]], [[J Sharp|J#]], [[Perl]], [[Lenguaje de programación Python|Python]], [[Fortran]], [[Cobol]] y [[PowerBuilder]].
Algunos de los lenguajes desarrollados para el '''marco de trabajo .NET''' son: [[C Sharp|C#]], [[Visual Basic]], [[Delphi]] ([[Object Pascal]]), [[C más más|C++]], [[J Sharp|J#]], [[Perl]], [[Lenguaje de programación Python|Python]], [[Fortran]], [[Cobol]] y [[PowerBuilder]].



== Common Language Runtime (CLR) ==
{{AP|Common Language Runtime}}
{{AP|Common Language Runtime}}
[[Archivo:Diagrama_Interno_CLR.jpg|thumb|Estructura interna del entorno de ejecución en lenguaje común ''([[CLR]] por sus siglas en inglés)''.]]
[[Archivo:Diagrama_Interno_CLR.jpg|thumb|Estructura interna del entorno de ejecución en lenguaje común ''([[CLR]] por sus siglas en inglés)''.]]
Línea 50: Línea 56:
Para ejecutarse se necesita un segundo paso, un compilador [[Compilación en tiempo de ejecución|JIT]] ''(Just-In-Time)'' es el que genera el [[código máquina]] real que se ejecuta en la plataforma del cliente. De esta forma se consigue con .NET independencia de la plataforma de hardware. La compilación JIT la realiza el CLR a medida que el programa invoca métodos. El código ejecutable obtenido se almacena en la memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente.
Para ejecutarse se necesita un segundo paso, un compilador [[Compilación en tiempo de ejecución|JIT]] ''(Just-In-Time)'' es el que genera el [[código máquina]] real que se ejecuta en la plataforma del cliente. De esta forma se consigue con .NET independencia de la plataforma de hardware. La compilación JIT la realiza el CLR a medida que el programa invoca métodos. El código ejecutable obtenido se almacena en la memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente.



=== Características ===
Es el encargado de proveer lo que se llama código administrado, es decir, un entorno que provee servicios automáticos al código que se ejecuta. Los servicios son variados:
Es el encargado de proveer lo que se llama código administrado, es decir, un entorno que provee servicios automáticos al código que se ejecuta. Los servicios son variados:
*Cargador de clases: permite cargar en memoria las clases.
*Cargador de clases: permite cargar en memoria las clases.
Línea 64: Línea 70:
*Soporte de la Biblioteca de Clases Base: interfaz con las clases base del .NET Framework. Esto quiere decir que existen tipos de estructuras como es la de java y la .NET
*Soporte de la Biblioteca de Clases Base: interfaz con las clases base del .NET Framework. Esto quiere decir que existen tipos de estructuras como es la de java y la .NET



== Estandarización y Licenciamiento ==
En Agosto de 2000, Microsoft, Hewlett-Packard e Intel trabajaron conjuntamente para estandarizar el lenguaje de programación C# y una Infraestructura de Lenguaje Común (CLI por sus siglas en inglés). Para Diciembre de 2001, ambos fueron ratificados por los estándares Internacionales ECMA.<ref>[http://www.ecma-international.org/publications/standards/Ecma-334.htm Norma ECMA para C#] (en inglés)</ref><ref>[http://www.ecma-international.org/publications/standards/Ecma-335.htm Norma ECMA para CLI] (en inglés)</ref> ISO también siguió los pasos para abril de 2003.
En Agosto de 2000, Microsoft, Hewlett-Packard e Intel trabajaron conjuntamente para estandarizar el lenguaje de programación C# y una Infraestructura de Lenguaje Común (CLI por sus siglas en inglés). Para Diciembre de 2001, ambos fueron ratificados por los estándares Internacionales ECMA.<ref>[http://www.ecma-international.org/publications/standards/Ecma-334.htm Norma ECMA para C#] (en inglés)</ref><ref>[http://www.ecma-international.org/publications/standards/Ecma-335.htm Norma ECMA para CLI] (en inglés)</ref> ISO también siguió los pasos para abril de 2003.
Mientras Microsoft y sus socios de negocios ganaban patentes para los lenguajes CLI y C#, ECMA e ISO solicitaron que era esencial que la implementación estuviera disponible bajo “términos no discriminatorios”. Además de alcanzar estos términos, las compañías también accedían a dejar estas patentes disponibles.
Mientras Microsoft y sus socios de negocios ganaban patentes para los lenguajes CLI y C#, ECMA e ISO solicitaron que era esencial que la implementación estuviera disponible bajo “términos no discriminatorios”. Además de alcanzar estos términos, las compañías también accedían a dejar estas patentes disponibles.
Línea 70: Línea 76:
En Octubre de 2007, Microsoft anunciaba la liberación de su código fuente para la Biblioteca de Clases Base del .NET Framework (incluidos ASP.Net, ADO.Net y Windows Presentation Foundation) esto con el lanzamiento de su nueva versión: Visual Studio 2008.
En Octubre de 2007, Microsoft anunciaba la liberación de su código fuente para la Biblioteca de Clases Base del .NET Framework (incluidos ASP.Net, ADO.Net y Windows Presentation Foundation) esto con el lanzamiento de su nueva versión: Visual Studio 2008.



== El futuro de .NET ==
A largo plazo [[Microsoft]] pretende reemplazar el [[Interfaz de programación de aplicaciones|API]] [[Win32]] o [[Windows API]] con la plataforma .NET. Esto debido a que el [[Interfaz de programación de aplicaciones|API]] [[Win32]] o [[Windows API]] fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el [[sistema operativo]] [[Windows]]. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas.
A largo plazo [[Microsoft]] pretende reemplazar el [[Interfaz de programación de aplicaciones|API]] [[Win32]] o [[Windows API]] con la plataforma .NET. Esto debido a que el [[Interfaz de programación de aplicaciones|API]] [[Win32]] o [[Windows API]] fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el [[sistema operativo]] [[Windows]]. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas.


Línea 77: Línea 83:
Con esta [[plataforma de desarrollo|plataforma]], [[Microsoft]] incursiona de lleno en el campo de los [[Servicios Web]] y establece el [[XML]] como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas.
Con esta [[plataforma de desarrollo|plataforma]], [[Microsoft]] incursiona de lleno en el campo de los [[Servicios Web]] y establece el [[XML]] como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas.



== Biblioteca de Clases Base de .NET ==
[[Archivo:Diagrama_CLR.jpg|thumb|Diagrama básico de la Biblioteca de Clases Base.]]
[[Archivo:Diagrama_CLR.jpg|thumb|Diagrama básico de la Biblioteca de Clases Base.]]
La [[Biblioteca de Clases Base]] ([[BCL]] por sus siglas en [[idioma inglés|inglés]]) maneja la mayoría de las operaciones básicas que se encuentran involucradas en el desarrollo de aplicaciones, incluyendo entre otras:
La [[Biblioteca de Clases Base]] ([[BCL]] por sus siglas en [[idioma inglés|inglés]]) maneja la mayoría de las operaciones básicas que se encuentran involucradas en el desarrollo de aplicaciones, incluyendo entre otras:
Línea 112: Línea 118:
*.NET
*.NET



== Ensamblados ==
[[Archivo:Ensamble_NET.jpg|thumb|Diagrama interno de un '''Ensamble .NET'''.]]
[[Archivo:Ensamble_NET.jpg|thumb|Diagrama interno de un '''Ensamble .NET'''.]]
Un ensamblado es un compilado [[EXE]] o [[DLL]] que contiene código [[Common Intermediate Language|CIL]] que se genera desde los diferentes lenguajes [[.NET]], y que es ejecutado por el [[CLR]]. Puede contener una o varias clases al igual que uno o varios namespaces.
Un ensamblado es un compilado [[EXE]] o [[DLL]] que contiene código [[Common Intermediate Language|CIL]] que se genera desde los diferentes lenguajes [[.NET]], y que es ejecutado por el [[CLR]]. Puede contener una o varias clases al igual que uno o varios namespaces.
Línea 118: Línea 124:
Los ensamblados pueden tener diferentes decoradores que definen el entorno de ejecución de los mismos COM+, DCOM, Remouting, etc.
Los ensamblados pueden tener diferentes decoradores que definen el entorno de ejecución de los mismos COM+, DCOM, Remouting, etc.



== Versiones ==


{| class="wikitable"
{| class="wikitable"
Línea 166: Línea 172:
|}
|}



== Véase también ==
* [[Microsoft Visual Studio .NET]]
* [[Microsoft Visual Studio .NET]]
* [[.NET Show]]
* [[.NET Show]]


== Referencias ==
<references />
<references />



== Enlaces externos ==
* [http://www.pedrov.phpnet.us/ Programación en .NET] Libro digital dedicado a la programación en .NET
* [http://www.pedrov.phpnet.us/ Programación en .NET] Libro digital dedicado a la programación en .NET
* [http://www.microsoft.com/latam/net/introduccion/ Microsoft .NET]
* [http://www.microsoft.com/latam/net/introduccion/ Microsoft .NET]

Revisión del 14:07 28 oct 2009

MICROSOFT.NET

Temas Relacionados

Archivo:Cuadroxe.jpg


otros usos|.net|el dominio de Internet

referencias

Ficha de software | logo = | nombre = Microsoft .NET| captura = | pie = | desarrollador = Microsoft Corp. | última_versión = 3.5.30729.1 (3.5 SP1) | fecha_última_versión = 11 de agosto de 2008 | latest_preview_version = 3.5 Beta 2 | latest_preview_date = July 24, 2007 | sistema_operativo = Windows | género = Plataforma de desarrollo | licencia = Comercial | sitio_web = Microsoft .NET Framework | español = Sí


.NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado.

.NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Sun Microsystems y a los diversos framework de desarrollo web basados en PHP. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones –o como la misma plataforma las denomina, soluciones– permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.


La plataforma .NET de Microsoft es un componente de software que puede ser añadido al sistema operativo Windows. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Esta solución es el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de las aplicaciones creadas para la plataforma Windows.

.NET Framework se incluye en Windows Server 2008 y Windows Vista y Windows 7. De igual manera, la versión actual de dicho componente puede ser instalada en Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una versión "reducida" de .NET Framework está disponible para la plataforma Windows Mobile, incluyendo teléfonos inteligentes.

La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que debe implementar la biblioteca de clases base (BCL por sus siglas en inglés, tal vez el más importante de los componentes de la plataforma), define un conjunto funcional mínimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque Microsoft implementó esta norma para su sistema operativo Windows, la publicación de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El Proyecto Mono emprendido por Ximian pretende realizar la implementación de la norma para varios sistemas operativos adicionales bajo el marco del código abierto.


Los principales componentes del marco de trabajo son:

  • El conjunto de lenguajes de programación
  • La Biblioteca de Clases Base o BCL
  • El Entorno Común de Ejecución para Lenguajes o CLR por sus siglas en inglés.

Debido a la publicación de la norma para la infraestructura común de lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existían entre lo que era posible hacer con uno u otro lenguaje.

Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic, Delphi (Object Pascal), C++, J#, Perl, Python, Fortran, Cobol y PowerBuilder.


Estructura interna del entorno de ejecución en lenguaje común (CLR por sus siglas en inglés).

Este es el lenguaje insignia de .NET Framework (marco de trabajo .NET) y pretende reunir las ventajas de lenguajes como C, C++ y Visual Basic en uno solo. El CLR es el verdadero núcleo del framework de .NET, entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de servicios del sistema operativo (W2k y W2003).

La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por .NET en un código intermedio, el MSIL (Microsoft Intermediate Lenguaje), similar al BYTECODE de Java. Para generarlo, el compilador se basa en la especificación CLS (Common Language Specification) que determina las reglas necesarias para crear el código MSIL compatible con el CLR.

Para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-Time) es el que genera el código máquina real que se ejecuta en la plataforma del cliente. De esta forma se consigue con .NET independencia de la plataforma de hardware. La compilación JIT la realiza el CLR a medida que el programa invoca métodos. El código ejecutable obtenido se almacena en la memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente.


Es el encargado de proveer lo que se llama código administrado, es decir, un entorno que provee servicios automáticos al código que se ejecuta. Los servicios son variados:

  • Cargador de clases: permite cargar en memoria las clases.
  • Compilador MSIL a nativo: transforma código intermedio de alto nivel independiente del hardware que lo ejecuta a código de máquina propio del dispositivo que lo ejecuta.
  • Administrador de código: coordina toda la operación de los distintos subsistemas del Common Language Runtime.
  • Recolector de basura: elimina de memoria objetos no utilizados.
  • Motor de seguridad: administra la seguridad del código que se ejecuta.
  • Motor de depuración: permite hacer un seguimiento de la ejecución del código aun cuando se utilicen lenguajes distintos.
  • Verificador de tipos: controla que las variables de la aplicación usen el área de memoria que tienen asignado.
  • Administrador de excepciones: maneja los errores que se producen durante la ejecución del código.
  • Soporte de multiproceso (hilos): permite ejecutar código en forma paralela.
  • Empaquetador de COM: coordina la comunicación con los componentes COM para que puedan ser usados por el .NET Framework.
  • Soporte de la Biblioteca de Clases Base: interfaz con las clases base del .NET Framework. Esto quiere decir que existen tipos de estructuras como es la de java y la .NET


En Agosto de 2000, Microsoft, Hewlett-Packard e Intel trabajaron conjuntamente para estandarizar el lenguaje de programación C# y una Infraestructura de Lenguaje Común (CLI por sus siglas en inglés). Para Diciembre de 2001, ambos fueron ratificados por los estándares Internacionales ECMA.[1][2]​ ISO también siguió los pasos para abril de 2003. Mientras Microsoft y sus socios de negocios ganaban patentes para los lenguajes CLI y C#, ECMA e ISO solicitaron que era esencial que la implementación estuviera disponible bajo “términos no discriminatorios”. Además de alcanzar estos términos, las compañías también accedían a dejar estas patentes disponibles. Sin embargo, esto no aplicó para la parte del .NET Framework, que no está cubierto por los estándares ECMA/ISO. Esto incluye Windows Forms, ADO.Net y ASP.Net. En Octubre de 2007, Microsoft anunciaba la liberación de su código fuente para la Biblioteca de Clases Base del .NET Framework (incluidos ASP.Net, ADO.Net y Windows Presentation Foundation) esto con el lanzamiento de su nueva versión: Visual Studio 2008.


A largo plazo Microsoft pretende reemplazar el API Win32 o Windows API con la plataforma .NET. Esto debido a que el API Win32 o Windows API fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el sistema operativo Windows. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas.

Debido a las ventajas que la disponibilidad de una plataforma de este tipo puede darle a las empresas de tecnología y al público en general, muchas otras empresas e instituciones se han unido a Microsoft en el desarrollo y fortalecimiento de la plataforma .NET, ya sea por medio de la implementación de la plataforma para otros sistemas operativos aparte de Windows (Proyecto Mono de Ximian/Novell para Linux/MacOS X/BSD/Solaris), el desarrollo de lenguajes de programación adicionales para la plataforma (Lexico para hispanoparlantes, ANSI C de la Universidad de Princeton, NetCOBOL de Fujitsu, Delphi de Borland, PowerBuilder de Sybase entre otros) o la creación de bloques adicionales para la plataforma (como controles, componentes y bibliotecas de clases adicionales); siendo algunas de ellas software libre, distribuibles bajo la licencia GPL.

Con esta plataforma, Microsoft incursiona de lleno en el campo de los Servicios Web y establece el XML como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas.


Diagrama básico de la Biblioteca de Clases Base.

La Biblioteca de Clases Base (BCL por sus siglas en inglés) maneja la mayoría de las operaciones básicas que se encuentran involucradas en el desarrollo de aplicaciones, incluyendo entre otras:

  • Interacción con los dispositivos periféricos
  • Manejo de datos (ADO.NET)
  • Administración de memoria
  • Cifrado de datos
  • Transmisión y recepción de datos por distintos medios (XML, TCP/IP)
  • Administración de componentes Web que corren tanto en el servidor como en el cliente (ASP.NET)
  • Manejo y administración de excepciones
  • Manejo del sistema de ventanas
  • Herramientas de despliegue de gráficos (GDI+)
  • Herramientas de seguridad e integración con la seguridad del sistema operativo
  • Manejo de tipos de datos unificado
  • Interacción con otras aplicaciones
  • Manejo de cadenas de caracteres y expresiones regulares
  • Operaciones aritméticas
  • Manipulación de fechas, zonas horarias y periodos de tiempo
  • Manejo de arreglos de datos y colecciones
  • Manipulación de archivos de imágenes
  • Aleatoriedad
  • Generación de código
  • Manejo de idiomas
  • Auto descripción de código
  • Interacción con el API Win32 o Windows API.
  • Compilación de código

Esta funcionalidad se encuentra organizada por medio de espacios de nombres jerárquicos.

La Biblioteca de Clases Base se clasifica, en cuatro grupos clave:


Diagrama interno de un Ensamble .NET.

Un ensamblado es un compilado EXE o DLL que contiene código CIL que se genera desde los diferentes lenguajes .NET, y que es ejecutado por el CLR. Puede contener una o varias clases al igual que uno o varios namespaces.

Los ensamblados pueden tener diferentes decoradores que definen el entorno de ejecución de los mismos COM+, DCOM, Remouting, etc.


Nombre de la Versión Número de Versión Lanzamiento
Pre-beta ?.?.????.? 11/07 2000
1.0 Beta 1 1.0.????.0 Noviembre 2000
1.0 Beta 2 1.0.2914.0 20/6/2001
1.0 RTM 1.0.3705.0 05-01-2002
1.0 SP1 1.0.3705.209 19-03-2002
1.0 SP2 1.0.3705.288 07-08-2002
1.0 SP3 1.0.3705.6018 31-08-2004
1.1 RTM 1.1.4322.573 01-04-2003
1.1 SP1 1.1.4322.2032 30-08-2004
1.1 SP1 (W2k3) 1.1.4322.2300 30-03-2005
2.0 RTM 2.0.50727.42 07-11-2005
2.0 RTM (Vista) 2.0.50727.312 30-01-2007
2.0 (KB928365) 2.0.50727.832 10-07-2007
2.0 SP1 2.0.50727.1433 19-11-2007
2.0 SP2 2.2.30729 ¿?
3.0 RTM 3.0.4506.30 06-11-2006
3.0 RTM (Vista) 3.0.4506.26 30-01-2007
3.0 SP1 3.0.4506.648 19-11-2007
3.0 SP2 3.2.30729 ¿?
3.5 RTM 3.5.21022.8 19-11-2007
3.5 SP1 3.5.30729.01 11-08-2008


  1. Norma ECMA para C# (en inglés)
  2. Norma ECMA para CLI (en inglés)