You are on page 1of 10

DEFINIR LA ESTRUCTURA DE NETFRAMEWORK

Net framework es un entorno de ejecucin runtime que administra aplicaciones cuyo


destino es .net framework. Incorpora common lenguaje runtime, que proporciona
administracin de la memoria y otros servicios del sistema, y una biblioteca de clases
completa, que permite a los programadores aprovechar el cdigo slido y confiable de
todas las reas principales del desarrollo de aplicaciones.
QU ES MICROSOFT .NET FRAMEWORK?

Microsoft Framework es un marco de software que se instala en Microsoft Windows.


Software que se desarroll utilizando .NET requiere .NET Framework para ser
instalado en su sistema para poder ejecutar. Una vez instalado Framework, se crea el
entorno software necesario para que pueda proporcionar los requisitos de tiempo de
ejecucin adecuadas al software. .NET Framework se puede instalar en Windows NT,
98, Me, 2000, XP, Vista, Windows 7, Windows 8 y Windows Server 2003, 2008 y 2012.

NET Framework es un entorno de ejecucin administrado que proporciona diversos


servicios a las aplicaciones en ejecucin. Consta de dos componentes principales:
Common Language Runtime (CLR), que es el motor de ejecucin que controla las
aplicaciones en ejecucin, y la biblioteca de clases de .NET Framework, que
proporciona una biblioteca de cdigo probado y reutilizable al que pueden llamar los
desarrolladores desde sus propias aplicaciones. Los servicios que ofrece .NET
Framework a las aplicaciones en ejecucin son los siguientes:
1. Administracin de la memoria. En muchos lenguajes de programacin, 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 aplicacin.
2. Sistema de tipos comunes. En los lenguajes de programacin tradicionales, el
compilador define los tipos bsicos, lo que complica la interoperabilidad entre
lenguajes. En .NET Framework, los tipos bsicos los define el sistema de tipos de
.NET Framework y son comunes a todos los lenguajes que tienen como
destino .NET Framework.
3. Interoperabilidad de lenguajes. Los compiladores de lenguajes cuya plataforma
de destino es .NET Framework emiten un cdigo intermedio denominado
Lenguaje intermedio comn (CIL), que, a su vez, se compila en tiempo de
ejecucin a travs de Common Language Runtime.Con esta caracterstica, las
rutinas escritas en un lenguaje estn accesibles a otros lenguajes, y los
programadores pueden centrarse en crear aplicaciones en su lenguaje o
lenguajes preferidos.

4. Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se


desarrollan con una versin determinada de .NET Framework se pueden ejecutar
sin modificaciones en una versin posterior.
LISTA DE TODAS LAS VERSIONES DE MICROSOFT .NET FRAMEWORK
Framework disponibles. Algunos estn incluidos en algn sistema operativo Windows
por defecto y todos estn disponibles para descargar en el sitio web Microsoft tambin.
A continuacin se presenta una lista de todas las versiones publicadas de Framework:
Framework 1.0

Framework 1.1 (viene instalado en Windows Server 2003)


Framework 2.0
Framework 3.0 (viene instalado en Windows Vista y Server 2008)
Framework 3.5 (viene instalado en Windows 7 y Server 2008 R2)
Framework 4.0
Framework 4.5 (viene instalado en Windows 8 y Server 2012)

FRAMEWORK FUNDAMENTALS
Este captulo busca gestionar datos en una aplicacin del .Net FW usando los tipos:

Tipos por valor


Tipos por Referencia
Atributos
Tipos Genricos
Excepciones
Boxing & Unboxing

Tipos por valor: Son variables que contienen sus datos directamente en lugar de
contener referencias a los datos almacenados en algn lugar de la memoria (Built-in
Types, User-defined types, Enumerations).
El tipo tipos por valor en el .Net Fw, de esta forma cuando usted asigna entre
variables del tipo por valor, el dato es copiado de una variable a la otra y almacenado
en dos locaciones diferentes de la pila.
Ejemplo: (Aplicacin de consola)
Module Module1
Public Sub Main ()
Dim B as Nullable (Of Boolean) = Nothing
If B.HasValue Then
Console.WriteLine ("b is {0}. B.Value)
Else
Console.WriteLine ("b is not set.")
End If
Console.ReadLine ()
End Sub
End Module
User Defined Types: Tambin llamados estructuras, al igual que los tipos por valor,
estos son almacenados en la pila y contienen sus datos directamente.

Built-in types, son los tipos base provistos por el .Net FW con los cuales, otros
tipos son construidos. Ejemplo de ello son los tipos numricos en donde la seleccin
del tipo vara en referencia al tamao y precisin que se espera de ello.
Las estructuras son muy similares a las clases pero ms eficientes, de este modo
usted debe definir una estructura en vez de una clase, si el tipo se desarrollar mejor
como un tipoi por valor que como una referencia, las estructuras se caracterizan por:

Lgicamente representan un singular valor

Tienen un tamao de instancia menor que 16 bytes

No sern cambiados luego de la creacin

No sern transformados a una referencia por tipo

Enumeraciones: Son smbolos que tienen valores fijos, estas se deben usar para
proveer una lista de elecciones en las clases.
Ejemplo: (Aplicacin de consola)
Module Module1
Public Sub Main ()
Dim t As Titles = Titles.Dr
Console.WriteLine ("{0}", t)
Console.ReadLine ()
End Sub
Enum Titles As Integer
Mr
Ms
Mrs
Dr
End Enum
End Module

TIPOS POR REFERENCIA


Almacenan la direccin de sus datos (tambin conocido como apuntador en la pila),
de este modo representan la direccin de los datos en vez de los datos por s mismos.
En la prctica asignar una variable por referencia a otra no copia los datos; en lugar de
ello simplemente crea una segunda copia de la referencia.
Ejemplo: (Aplicacin de consola)
Module Module1
Public Sub Main ()
Dim n1 As Numbers = New Numbers (0)
Dim n2 As Numbers = n1
n1.Val += 1
n2.Val = 2
Console.WriteLine("n1= {0}, n2= {1}", n1, n2)
Console.ReadLine ()

End Sub
Structure Numbers
Public Val As Integer
Public Sub New(ByVal _Val As Integer)
Val = _Val
End Sub
Public Overloads Overrides Function tostring () As String
Return Val.ToString
End Function
End Structure
End Module
Construyendo Clases
En lenguages orientados a objetos el grueso del trabajo debe ser desarrollado dentro
de objetos requiriendo construir clases cada c/u de ellos con mltiples prepiedades y
mtodos usados para desarrollar tareas relacionades al objeto.
Herencia
La herencia en .Net Fw tiene miles de clases y cada clase tiene diferentes mtodos y
propiedades, mantener el seguimiento de todos ellos sera imposible si no fuera por la
consistencia, la cual a su vez es posible gracias a la herencia y las interfaces. La
herencia se utiliza para crear nuevas clases a partir de unas ya existentes.
Ejemplo: (Fragmento de cdigo)
Class DerivedException
Inherits System.ApplicationException
Public Overrides ReadOnly Property Message () As String
Get
Return "Un Error ocurro en la aplicacin"
End Get
End Property
End Class
Interfaces
Tambien conocidas como los contratos, definen un set de miembros comunes para
todas las clases que la interface debe proveer.
Genricos
Son parte de los tipos en el .Net Fw que permiten definir un tipo mientras dejan
algunos detalles especificados. Los tipos Genricos ofrecen mayores ventajas sobre la
clase Objeto como:
El compilador en los tipos Objeto no puede detectar errores cuando se hacen
transformaciones de la clase objeto o hacia dicha clase. Adicionalmente se pueden
especificar constrias para limitar las clases usadas en Genricos, habilitando el
compilador para detectar tipos incompatibles.
Mejoran el performance, ya que las conversiones boxing y el unboxing disminuyen
el rendimiento.

INPUT/OUTPUT (I/O)

Este captulo pretende ensear cmo trabajar con el sistema input/output dentro del
.Net Fw, las bases incluyen acceso a archivos, carpetas en el sistema, trabajar con
streams y con el almacenamiento.
Navegando en el Sistema de Archivos.
Una de las tareaas ms comunes es trabajar con el sistema de archivos, compartir
informacin en undades, carpetas y archivos. El responsable de estas tareas es el
nameSpace denominado System.IO, de este modo de derivan dos de sus clases:
(FileInfo y
DirectoryInfo).

Imports System.IO
Module Module1 Public Sub Main ()
Dim ourDir As DirectoryInfo = New DirectoryInfo ("C:\windows")
Console.WriteLine ("Directory: {0}", ourDir.FullName)
For Each file As FileInfo In ourDir.GetFiles Console.WriteLine ("File:{0}", file. ame)
Next
Console.ReadLine ()
End Sub
End Module
Leyendo y Escribiendo Archivos:
Streams. Los Streams son una forma comn para tratar el acceso a datos
secuenciales y randmicos dentro del .Net Fw, las clases de streams ms comunes
son:
FileStream (System.Io)
MemoryStream (System.Io)
CryptoStream (System.Security)
NetWorkStream (System.Net)
GzipStream (System.Compression)
El denominador comn para estos streams es que todos trabajan los datos como un
flujo.
FCL (FRAMEWORK CLASS LIBRARY)
Provee la API que las aplicaciones gestionadas en .NET invocan.
Incluye ms de 7000 tipos y est particionada en ms de 100 espacios de nombres:
Desde Int32 y String a tipos como Regex o Form
System es la raz de la mayora
Define tipos bsicos como Int32 y Byte y clases de utilidad como Math y TimeSpan o
Collections
FCL (FRAMEWORK CLASS LIBRARY)
En este apartado veremos algunas de los espacios de nombres ms importantes de
la FCL:
System.IO
System. Collections

System.XML
System.Reflection
System.GC
System.NET y System. Web
SYSTEM. WEB Y SYSTEM.NET
System.Net provee clases para llevar a cabo tareas relacionadas con Internet
System.Net.Sockets permite la comunicacin a travs de Sockets
System. Web, System.Web.Mail y System.Web.Services, estn construidas encima
de System.Net
Listando enlaces de pgina web
Using System; using System.IO; using System.Net; using
System.Text.RegularExpressions; class ListLink {static void Main (string [] args) {if
(args.Length == 0) {
Console.WriteLine ("Error: Indica URL para listar enlaces"); return;
}
StreamReader reader = null; try {
WebRequest request = WebRequest.Create (args[0]);
WebResponse response = request.GetResponse ();
Listando enlaces de pgina web
reader = new StreamReader (response.GetResponseStream ()); string content =
reader.ReadToEnd ();
Regex regex = new Regex ("href\\s*=\\s*\"([^\"]*)\"",
RegexOptions.IgnoreCase);
MatchCollection matches = regex.Matches (content); foreach (Match match in
matches)
Console.WriteLine (match.Groups [1]);
} Catch (Exception e) {
Console.WriteLine (e.Message);
} Finally {if (reader!= null) reader.Close ();
}
}
}
Enviando un mail con .NET
Using System.Web.Mail;
MailMessage message = new MailMessage (); message.From = Sender.Text;
message.To = Receiver.Text; message.Subject = Subject.Text; message.Body =
Body.Text;

SmtpMail.SmtpServer = "localhost";
SmtpMail.Send (message);

DETERMINAR QU ACTUALIZACIONES DE .NET FRAMEWORK ESTN


INSTALADAS
.NET Framework (current version)

Las actualizaciones instaladas para cada versin de .NET Framework instalada en un


equipo se enumeran en el Registro de Windows. Puede utilizar el Editor del Registro
(regedit.exe) para ver esta informacin.
En el Editor del Registro, las versiones de .NET Framework y las actualizaciones
instaladas para cada versin se almacenan en diferentes subclaves.Para obtener
informacin sobre cmo detectar los nmeros de la versin instalada, consulte Cmo:
Determinar qu versiones de .NET Framework estn instaladas. Para obtener
informacin acerca de la instalacin de .NET Framework, vea la gua de instalacin.
BUSCAR LAS ACTUALIZACIONES INSTALADAS
Abrir el programa regedit.exe. En Windows 8 y versiones posteriores, abra la pantalla
Inicio y escriba el nombre. En versiones anteriores de Windows, en el men Iniciar,
elija Ejecutar y, a continuacin, en el cuadro Abrir, escriba regedit.exe.
Debe tener credenciales de administrador para ejecutar regedit.exe.
En el Editor del Registro, abra la subclave siguiente:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates
Las actualizaciones instaladas se muestran bajo subclaves que identifican la versin
de .NET Framework a la que se aplican. Cada actualizacin se identifica mediante un
nmero de la Knowledge Base (KB).
Ejemplo:
Microsoft .NET Framework 3.5 SP1
KB953595 Hotfix for Microsoft .NET Framework 3.5 SP1 (KB953595)
SP1
KB2657424 Security Update for Microsoft .NET Framework 3.5 SP1
(KB2657424)
KB958484 Hotfix for Microsoft .NET Framework 3.5 SP1 (KB958484)
KB963707 Update for Microsoft .NET Framework 3.5 SP1 (KB963707)
Microsoft .NET Framework 4 Client Profile
KB2160841 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2160841)
KB2446708 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2446708)
KB2468871 Update for Microsoft .NET Framework 4 Client Profile
(KB2468871)
KB2478663 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2478663)
KB2518870 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2518870)

KB2533523 Update for Microsoft .NET Framework 4 Client Profile


(KB2533523)
KB2539636 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2539636)
KB2572078 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2572078)
KB2633870 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2633870)
KB2656351 Security Update for Microsoft .NET Framework 4 Client
Profile (KB2656351)
Microsoft .NET Framework 4 Extended
KB2416472 Security Update for Microsoft .NET Framework 4 Extended
(KB2416472)
KB2468871 Update for Microsoft .NET Framework 4 Extended
(KB2468871)
KB2487367 Security Update for Microsoft .NET Framework 4 Extended
(KB2487367)
KB2533523 Update for Microsoft .NET Framework 4 Extended
(KB2533523)
KB2656351 Security Update for Microsoft .NET Framework 4 Extended
(KB2656351)

CONFIGURAR UNA APLICACIN PARA ADMITIR .NET FRAMEWORK 4 O 4.5


.NET Framework (current version)

Todas las aplicaciones que hospedan Common Language Runtime (CLR) necesitan
iniciar o activar CLR para ejecutar cdigo administrado. Normalmente, una aplicacin
de .NET Framework se ejecuta en la versin de CLR en la que se compil, pero puede
cambiar este comportamiento para las aplicaciones de escritorio mediante un archivo
de configuracin de la aplicacin (que suele recibir el nombre de archivo
app.config). Sin embargo, no puede cambiar el comportamiento predeterminado de
activacin para las aplicaciones de la Tienda Windows o Windows Phone mediante un
archivo de configuracin de la aplicacin. En este artculo se explica cmo permitir que
la aplicacin de escritorio se ejecute en otra versin de .NET Framework y se
proporciona un ejemplo de cmo establecer la versin 4 o 4.5 como destino.
La versin de .NET Framework en la que se ejecuta una aplicacin se determina en el
orden siguiente:
Archivo de configuracin.
Si el archivo de configuracin de la aplicacin incluye
entradas <supportedRuntime> que especifican una o varias versiones de .NET
Framework y una de estas versiones est presente en el equipo del usuario, la
aplicacin se ejecuta en esa versin. El archivo de configuracin lee las
entradas <supportedRuntime> en el orden en que aparecen y utiliza la primera versin
de .NET Framework de la lista que est presente en el equipo del usuario. (Use
el elemento <requiredRuntime> para la versin 1.0.).

Versin compilada.
Si no hay ningn archivo de configuracin pero la versin de .NET Framework en la
que se compil la aplicacin est presente en el equipo del usuario, la aplicacin se
ejecuta en esa versin.
ltima versin instalada.
Si la versin de .NET Framework en la que se compil la aplicacin no est presente y
el archivo de configuracin no especifica ninguna versin en el elemento
<supportedRuntime>, la aplicacin intenta ejecutarse en la ltima versin de .NET
Framework que est presente en el equipo del usuario.
Sin embargo, las aplicaciones de .NET Framework 1.0, 1.1, 2.0, 3.0 y 3.5 no se
ejecutan automticamente en .NET Framework 4 o posterior, y en algunos casos,
puede que aparezca un error y que se le solicite instalar .NET Framework 3.5. El
comportamiento de activacin tambin puede depender del sistema operativo del
usuario, ya que las distintas versiones del sistema Windows incluyen diferentes
versiones de .NET Framework. Si la aplicacin admite .NET Framework 3.5 y 4 o
posterior, es recomendable que lo indique con varias entradas en el archivo de
configuracin para evitar errores de inicializacin de .NET Framework. Para ms
informacin, consulte Versiones y dependencias de .NET Framework.
1. Agregue o busque el archivo de configuracin del proyecto de .NET Framework. El
archivo de configuracin de una aplicacin est en el mismo directorio y tiene el
mismo nombre que la aplicacin, pero su extensin es .config. Por ejemplo, en el
caso de una aplicacin denominada MiEjecutable.exe, el nombre del archivo de
configuracin sera MiEjecutable.exe.config.
Para agregar un archivo de configuracin, en la barra de mens de Visual Studio,
elija Proyecto, Agregar nuevo elemento. Elija General en el panel izquierdo y
elija Archivo de configuracin. Asigne al archivo de configuracin el
nombre appName.exe.config. Estas opciones de men no estn disponibles para los
proyectos de aplicaciones de la Tienda Windows o Windows Phone, ya que no se
puede cambiar la directiva de activacin de estas plataformas.
2. Agregue el elemento <supportedRuntime> de la forma siguiente al archivo de
configuracin de la aplicacin:
<Configuration>
<Startup>
<supportedRuntime version="<version>"/>
</Startup>
</Configuration>
Donde <version> especifica la versin de CLR correspondiente a la versin de .NET
Framework que admite la aplicacin. Use las siguientes cadenas:
.NET Framework 1.0: "v1.0.3705"
.NET Framework 1.1: "v1.1.4322"
.NET Framework 2.0, 3.0 y 3.5: "v2.0.50727"
.NET Framework 4 y 4.5 (incluidas las versiones secundarias como 4.5.1): "v4.0"
Puede agregar varios elementos <supportedRuntime>, indicados por orden de
preferencia, para especificar la compatibilidad con varias versiones de .NET
Framework.