Beruflich Dokumente
Kultur Dokumente
NET FRAMEWORK
Segundo LOTAR (2008), .NET Framework um componente integrado
ao Windows que suporta a execuo e o desenvolvimento de uma nova
gerao de aplicaes e XML web services.
O .Net Framework um ambiente de tempo de execuo que
proporciona uma variedade de servios para os aplicativos em execuo,
consiste em tempo de execuo da linguagem comum que por sua vez fornece
gerenciamento de memria e outros servios, alm de uma biblioteca de
classes abrangente.
Conforme contedo disposto nas referncias .NET Framework no site
da Microsoft:
O .NET Framework foi criado para atender os
seguintes objetivos:
Para fornecer um ambiente de programao
orientada a objetos consistente, quer o cdigo
objeto seja armazenado e executado localmente,
seja executado localmente mas distribudo pela
Internet ou seja executado remotamente.
Fornecer um ambiente de execuo que minimize
conflitos de versionamento de publicao.
Fornecer um ambiente de execuo que promova a
execuo
segura
de
cdigo
criado
por
desconhecidos ou cdigo de terceiros com baixo
nvel de confiana.
Para fornecer um ambiente de execuo que
elimina
os problemas de
desempenho
dos
ambientes interpretados ou com scripts.
Para tornar a experincia do desenvolvedor
consistente, atravs dos diversos tipos de
aplicativos, como aplicativos baseados no W indows
e aplicativos baseados na Web.
Para executar toda comunicao usando padres
da indstria, assim garantindo que cdigos
baseados
no
.NET
Common
Language
RuntimeFramework possam se integrar a qualquer
outro cdigo.
2
A figura n 1 apresenta o relacionamento do common language runtime
e da biblioteca de classes para seus aplicativos para com o sistema geral, e
tambm o cdigo gerenciado opera dento de uma arquitetura maior.
Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/zw4w595w.aspx
Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/bb822049.aspx
4
1.2
um processo divido em quatro etapas: Escolher o compilador, Compilar seu cdigo para
Microsoft Intermediate Language (MSIL), Compilao MSIL ao cdigo nativo, Executar o
cdigo.
2
5
partir da analise das razes dos aplicativos, isso a partir do acesso que
tem a listas de razes ativas pelo runtime e pelo Compilador Just-In
Time (JIT) 4.
Liberar memria para recursos no gerenciados: A maioria dos
objetos de um determinado aplicativo pode-se confiar no coletor de lixo
para executar automaticamente esta tarefa, no entanto recursos no
gerenciados a limpeza deve ser de maneira explicita, a exemplo em
situaes em que ocorre interao do aplicativo com um determinado
recurso do sistema operacional, tais como um identificador de janelas,
identificador
de
arquivo
ou
conexo
de
rede.
TIPOS
Os tipos podem ser de valor ou referncia.
Valor: Trata-se de dados que representao o valor real do
objeto, que quando atribudo a uma varivel esta passa a ter uma
do objeto.
Os tipos suportam cinco tipos de categorias: classes, estrutura,
enumeraes, interfaces, delegate.
Classe: Determina quais operaes que um objeto pode
executar, seja um mtodo8, evento9 ou propriedades10, e quais
O objeto definido como uma ocorrncia de uma entidade lgica, contendo dados e funes
que manipulam esses dados. (HICKSON, p 169, 2005).
Um mtodo um bloco de cdigo que contm uma srie de instrues . (Mtodos (guia de
programao do C#)).
8
Eventos habilitam uma classe ou objeto a notificar outras classes ou objetos quando ocorrer
algo de interesse. (Eventos (guia de programao do C#))
10
Uma propriedade um membro que fornece um mecanismo flexvel para ler, gravar ou
calcular o valor de um campo particular. (Propriedades (guia de programao do C#)).
7
so seus campos. Sua classe base a System Object
11
, esta
que
por
sua
vez
derivada
de
System.Object .
Enumeraes (enum): um conjunto de constantes nomeadas, ou
tambm chamada de lista enumerador, o tipo enumerador herdado
diretamente do System.Enum12. Os tipos suportados pelo enumerador
exceto char so: byte, sbyte short, ushort, int, uint, long ou ulong.
Para criar uma enumerao usa-se a palavra reservada enum seguida
do nome da lista de enumerador e de suas constantes e seus
respectivos valores, que podem estar ou no declarados explicitamente,
o primeiro enumerador tem o valor 0, mas podendo ser iniciado a partir
de 1, mas apesar desta condio recomenda-se que a lista de
palavra
reservada
interface.
11
13
1.5
DEFINIES DE TIPO
Na definio de tipo inclui as seguintes caractersticas: atributo,
14
O Delegate classe a classe base para tipos delegate. No entanto, somente o sistema e os
compiladores podem derivar explicitamente o Delegate classe ou o MulticastDelegate classe.
(Classe Delegate).
16
17
nome
do
tipo
deve
ser
exclusivo
somente
dentro
MEMBROS DE TIPOS
O tempo de execuo tem papel fundamental para os membros de tipo.
A palavra chave namespace usada para declarar um escopo que contm um conjunto de
objetos relacionados. (Namespace (referncia de C#)).
19
21
Um Declarador abstrato um Declarador que no declara um nome o
identificador ser deixado de fora. (Resumo de C++ declaradores).
10
durante esse processo o MSIL e os metadados
22
para descobrir se o cdigo pode ser classificado como seguro, isso a menos
que o administrador tenha estabelecido uma poltica de segurana que permita
que o cdigo ignore tal verificao.
Segundo consta em material contido no site da Microsoft:
um conjunto de instrues independentes de CPU o qual pode ser
convertido em cdigo nativo com eficincia. O MSIL inclui instrues
para
carregamento,
armazenamento,
inicializao
chamada
Campo
execuo.
Define um tipo dentro do escopo do tipo delimitador.
Descreve as operaes disponveis no tipo. A assinatura
11
do mtodo especifica os tipos dos argumentos e o valor de
retorno do mtodo. O construtor um tipo especial de
Propriedades
23
ou
classes
base
que
A XML uma linguagem de marcao que foi definida pelo World Wide Web (W3C) para
uso na web. Em geral, o termo linguagem de marcao se refere a uma codificao textual que
representa um texto e os detalhes de sua estrutura ou de sua aparncia. (Sistemas Distribudos
Conceitos e Projeto, p 142, 2007).
12
manipuladores de eventos, interfaces,
System.Activities
System.AddIn
System.CodeDom
System.Collections
System.ComponentModel
genricos.
Os
namespaces
do
classes
de
atributos
que
interfaces de usurio.
Os namespaces do System.Configuration
13
contm
tipos
configurao,
para
tratar
como
os
dados
dados
de
em
um
instaladores
assembly,
personalizados
gravar
de
de
funcionalidades
de
System.Deployment
Services.
Os namespaces do System.Deployment
contm tipos que oferecem suporte
System.Device.Location
14
System.Device.Location possui classes
fornecem uma nica API para encapsular
os vrios provedores em um computador
local e oferecer suporte a priorizao
perfeita e a transio entre elas. Como
resultado,
os
desenvolvedores
aplicativos
que
usam
necessrio
System.Diagnostics
adaptar
essa
a
API
de
aplicao,
de
desempenho.
Os
de smbolos de depurao.
Os
namespaces
do
do cdigo gerenciado.
O namespace pai do System.Drawing
contm tipos que oferecem suporte
funcionalidade grficas bsicas do GDI+.
Os namespaces filho oferecem suporte a
avanados recursos bidimensionais e
grficos vetoriais, de imagem e servios
15
System.Dynamic
System.EnterpriseServices
interfaces
que
oferecem
System.Globalization
de
formatao
para
datas,
tipos
que
so
usados
para
NET.
Os namespaces do System.IO contm
tipos que oferecem suporte a entrada e
sada, inclusive a capacidade de ler e
gravar
dados
em
fluxos
de
forma
de endereo
lgico
de
um
em
um
nico
continer,
de
logs
personalizados
16
System.Linq
System.Management
expresso.
Os namespaces do System.Management
contm tipos que fornecem acesso a
informaes e eventos de gerenciamento
sobre o sistema, dispositivos e aplicativos
ligados
infraestrutura
de
Instrumentao de Gerenciamento do
System.Media
Windows (WMI).
O namespace System.Media
contm
simples
para
vrios
programtica,
namespaces
atualizar,
as
do
de
forma
configuraes
System.Net,
dos
definir
de
rede
informaes
de
ponto.
O namespace System.Numerics contm
tipos numricos que complementam os
tipos numricos primitivos, como Byte,
Double, e Int32, que so definidos
pelo .NET Framework. contm tipos
numricos que complementam os tipos
17
numricos primitivos, como Byte, Double,
e Int32, que so definidos pelo .NET
System.Printing
Framework.
Os namespaces
do
System.Printing
fornecem
acesso
permitem
copiar
suas
interconverso
System.PrintTicket
estruturas
System.Reflection
de
objetos
gerenciados
GDI
DEVMODE
de
no
gerenciadas.
Os namespaces do System.Reflection
contm tipos que fornecem uma viso
gerenciada dos tipos, mtodos e campos
carregados e podem criar e invocar tipos
de forma dinmica. Um namespace filho
contm tipos que permitem que um
compilador ou outra ferramenta emita
metadados
System.Resources
Microsoft
Intermediate
Language (MSIL).
Os namespaces do System.Resources
contm
tipos
que
desenvolvedores
criar,
permitem
armazenar
aos
e
de um aplicativo.
Os namespaces
do
System.Security
do .NET Framework.
Os namespaces do
System.Model
de
cliente
servio
do
18
System.ServiceProcess
do
implementar,
instalar
servio Windows.
Os namespaces
do
System.Speech
reconhecimento de fala.
Os namespaces do System.Text contm
tipos para codificao de caracteres e
manipulao de cadeias de caracteres.
Um namespace filho permite a voc
processar
System.Threading
usando
expresses
regulares.
Os namespaces do System.Threading
contm
System.Timers
texto
tipos
que
permitem
programao multithreaded.
O namespace System.Timers fornece o
componente Timer, que permite acionar
System.Transactions
com
vrios
participantes
inscries durveis.
Os namespaces do System.Web contm
tipos que permitem a comunicao entre
o
navegador
servidor.
Os
ASP.NET,
servios
de
19
cache
no
servidor,
configurao
de
recursos
AJAX
ao
Web.
Os namespaces do System.Windows
contm tipos usados em aplicativos
Windows
Presentation
Foundation
de
interface
de
usurio,
filho
so
usados
para
do Windows.
Os namespaces do System.Workflow
contm tipos usados para desenvolver
aplicativos que usam o Window Workflow
Foundation.
Esses
tipos
fornecem
fluxo de trabalho.
Os namespaces do System.Xaml contm
tipos que oferecem suporte anlise e
System.Xml
20
permite
Accessibility
fcil
modificao
de
documentos XML.
O Accessibility e todos os seus membros
expostos fazem parte de um wrapper
gerenciado
para
acessibilidade
Microsoft.Activities
do
interface
modelo
componente (COM).
Os
Microsoft.Activities
contm
tipos
que
de
de
objeto
namespaces
oferecem
suporte
do
Windows
Workflow
Foundation.
O namespace Microsoft.Aspnet.Snapin
define os tipos necessrios para o
aplicativo Console de Gerenciamento do
ASP.NET interagir com o Console de
Microsoft.Build
tipos
que
fornecem
acesso
Microsoft.Data.Entity.Build.Tasks
Microsoft.JScript
Model
Designer
entidade).
Os namespaces
do
(Designer
de
Microsoft.JScript
21
Microsoft.SqlServer.Server
common
(CLR)
de
language
Microsoft
SQL
de banco de dados.
Os namespaces do Microsoft.VisualBasic
contm classes que oferecem suporte
compilao e gerao de cdigo
Microsoft.VisualC
Microsoft.Win32
interface genrica.
Os namespaces do
Microsoft.Win32
pelo
sistema
operacional,
operacional e de arquivos.
Os
namespaces
Microsoft.Windows
contm tipos que oferecem suporte a
temas e visualizao em aplicativos do
Windows
Presentation
Framework
UIAutomationClientsideProviders
(WPF).
Contm um tipo nico que mapeia
XamlGeneratedNamespace
Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/gg145045.aspx
22
1.8
24
25
27
25
O Hypertext Transfer Protocol (HTTP) o protocolo usado para se comunicar pela rede
mundial de computadores. (HTTP: The Definitive Guide).
27
23
linguagens mistas. Alm disso, estas linguagens potencializam a
funcionalidade do .NET Framework, que fornece acesso s
tecnologias-chave que simplificam o desenvolvimento de aplicaes
Web
ASP
e
XML
Web
Services.
28
29
escalonvel atravs do
28
um recurso de instncia do SQL Server que consiste em trs catlogos do SQL Server
com funcionalidade de qualidade de dados e armazenamento. (Data Quality Services)
32
24
1.9
INTEROPERABILIDADE DE LINGUAGEM
Devido ampla variedade de ferramentas e tecnologias utilizadas
25
1.10
COMPATIBILIDADE DE VERSO
A compatibilidade de verso significa que um determinado aplicativo
26
Conforme contedo disposto nas referencias do .Net Framework no
site da Microsoft :
O .NET Framework 4.5 retrocompatvel com aplicativos que foram
criados com as verses 1.1, 2.0, 3.0, 3.5, e 4 do .NET Framework.
Em outras palavras, aplicativos e componentes criados com verses
anteriores do .NET Framework funcionaro em .NET Framework 4.5.
No entanto, por padro, aplicativos so executados na verso do
common language runtime para que foram desenvolvidos, ento
possvel que voc tenha de fornecer um arquivo de configurao para
permitir que seu aplicativo seja executado no .NET Framework 4.5.
violaes futuras de
compatibilidade
nas
verses de
um
componente.
Conforme material instrucional contido no site da Microsoft, deve ser
feito testes em seus aplicativos e componentes do .NET Framework para
garantir que sejam compatveis com outras verses do .NET Framework.
1.11
33
27
Nas ilustraes a seguir mostram as duas situaes citadas de
execuo lado a lado: a de aplicativos e componentes.
28
Fonte: http://msdn.microsoft.com/pt-br/library/vstudio/8477k21c.aspx
29
execuo e os assemblies do .NET Framework so visionados
separadamente.
35
35
36
38
30
o .NET Framework fornece armazenamento de cdigo ciente de
verso no cache de assemblies global
armazenar
39
. De maneira a
1.12
MULTIPLATAFORMA
A partir do direcionamento da biblioteca de classes porttil do .Net
de
Classes
Porttil
em
Visual
Studio
2012
suporta
31
Sobre os recursos presentes na biblioteca de classes porttil, destacamse os seguintes: os pr-requisitos, plataforma de destino, recursos suportados
e tipos e membros suportados.
32
Utiliza apenas .NET Framework 4.5 e .NET para aplicativos
da Windows Store41, tem acesso a um conjunto de mdulos
(assemblies) muito maior do que est disponvel em outras
combinaes da plataforma. Esse conjunto maior de mdulos
(assemblies) quase idntico a .NET para aplicativos da
Windows Store, mas no inclui as classes no espao para
nome de Windows.UI.Xaml42.
41
42
4 REFERNCIA
Gerenciamento
Automtico
De
Memria.
Disponvel
em:
(Pilha).
Disponvel
em:
<http://msdn.microsoft.com/pt-
Just-In-Time
(JIT).
Disponvel
em:
Type
System.
Disponvel
em:
<http://msdn.microsoft.com/pt-
br/library/vstudio/zcx1eb1e.aspx#characteristics_of_type_members>
Acesso
em:
<http://books.google.com.br/books?
id=phxP6FTc0p4C&pg=PA169&dq=poo+objeto&hl=ptBR&sa=X&ei=DUEWUretK6Lo2QWRxYH4AQ&ved=0CDcQ6AEwAQ#v=onepa
ge&q=poo%20objeto&f=false> Acesso em: 22 ago. 2013.
Mtodos
(guia
de
programao
do
C#).
Disponvel
em:
<
(guia
de
programao
do
C#).
Disponvel
em:
(guia
de
programao
do
C#).
Disponvel
em:
<
34
Classe
Object.
Disponvel
em:
<http://msdn.microsoft.com/pt-
Enum.
Disponvel
em:
<http://msdn.microsoft.com/pt-
(guia
de
programao
do
C#).
Disponvel
em:
<
annimos
analise
de
cdigo.
Disponvel
em:
<http://msdn.microsoft.com/pt-br/library/bb514189%28v=vs.90%29.aspx>
Acesso em: 05 set. 2013.
Classe
Delegate.
Disponvel
em:
<http://msdn.microsoft.com/pt-
em:
<
http://books.google.com.br/books?
id=H8A0lZtqaXsC&pg=PA42&dq=%22+dados+primitivos+s%C3%A3o
%22&hl=ptBR&sa=X&ei=m00pUuz7EYrQ8QSp64CwAQ&ved=0CFAQ6AEwBQ#v=onepag
e&q=%22%20dados%20primitivos%20s%C3%A3o%22&f=false> Acesso em:
05 set. 2013.
Classe
Attribute.
Disponvel
em:
<http://msdn.microsoft.com/pt-
(referncia
C#).
Disponvel
em:
<
http://msdn.microsoft.com/pt-
de
acessibilidade
(referncia
C#).
Disponvel
em:
<
http://msdn.microsoft.com/pt-br/library/ba0a1yw2%28v=vs.90%29.aspx>
Acesso em: 09 set. 2013.
Como: determinar se um arquivo um Assembly (C# e Visual Basic).
Disponvel
em:
<http://msdn.microsoft.com/pt-
35
Private
(C#
Referncia).
Disponvel
em:
<http://msdn.microsoft.com/pt-
de
Tipos.
Disponvel
em:
<http://msdn.microsoft.com/pt-
Disponvel
em:
<http://msdn.microsoft.com/pt-
byte.
Disponvel
em:
<http://msdn.microsoft.com/pt-
de
tipo.
Disponvel
em:
<
http://msdn.microsoft.com/pt-
MSIL
para
cdigo
nativo.
Disponvel
em:
<
http://msdn.microsoft.com/pt-br/library/ht8ecch6%28v=vs.90%29.aspx> Acesso
em: 16 set. 2013.
Processo
de
execuo
gerenciada.
Disponvel
em:
<
de
classes
.Net
Framework.
Disponvel
em:
Conceitos
Projeto,
2007.
Disponvel
em:
<
http://books.google.com.br/books?id=qtiJgSXV1wwC&pg=PA142&dq=o+que+
%C3%A9+xml&hl=ptBR&sa=X&ei=0nM6Urf6HpLa8wTlkoEg&ved=0CD0Q6AEwATgK#v=onepage&
q=o%20que%20%C3%A9%20xml&f=false> Acesso em: 19 set. 2013.
Viso
geral
do
HTML5.
Disponvel
em:
36
Gourley, David; Totty, Brian. HTTP: The Definitive Guide, 2002. Disponivel em:
<
http://books.google.com.br/books?
id=qEoOl9bcV_cC&printsec=frontcover&dq=http&hl=ptBR&sa=X&ei=s1RCUp2uC4q88ATrhICQDw&ved=0CDgQ6AEwAQ#v=onepage
&q=http&f=false> Acesso em: 24 set. 2013.
Microsoft
SQL
Server.
Disponvel
em:
<
http://msdn.microsoft.com/pt-
columnstore.
Disponvel
em:
<
http://msdn.microsoft.com/pt-
Componentes
Autodescritivos.
Disponvel
em:
<
de
Linguagem.
Disponvel
em:
da
linguagem
comum.
Disponvel
em:
<
de
Verso
no
.Net
Framework.
Disponvel
em:
<
ComponentGuaranteesAttribute.
Disponvel
em:<
http://msdn.microsoft.com/ptbr/library/vstudio/system.runtime.versioning.componentguaranteesattribute.asp
x> Acesso em: 3 out. 2013.
37
Execuo
lado
lado
no
.Net
Framework.
Disponvel
em
<
Disponvel
em:
<http://msdn.microsoft.com/en-
Disponvel
em:
<http://msdn.microsoft.com/pt-