P. 1
Plataforma DotNet

Plataforma DotNet

|Views: 778|Likes:
Publicado porClaudio R Silva

More info:

Published by: Claudio R Silva on Apr 05, 2011
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

11/09/2012

pdf

text

original

Plataforma .

Net
Amauri Soares, Claudio Roberto Silva, Diego Castro Neves Unimontes ± Universidade Estadual de Montes Claros DCC ± Departamento de Ciência da Computação Cx. Postal 126 ± CEP 39.401-089 Montes Claros (MG) CCET ± Centro de Ciências Exatas e Tecnológicas Cx. Postal 126 ± CEP 39.401-089 Montes Claros (MG)

Amauras2@yahoo.com.br , claudioemais@gamil.com ,

Abstract. This article describes the .NET platform, an initiative of the company to Microsoft Java Virtual Machine. He stands as a new paradigm in software development that this perspective can be made in any language that .NET be able to interpret it. With the use of this component becomes more evident as a way to facilitate processes as a component can be easily used in any programming language because the CLR that it isthe execution environment for all components. Resumo. Este artigo descreve a plataforma .NET, uma iniciativa da empresa Microsoft a máquina virtual Java. Ele se coloca como um novo paradigma no desenvolvimento de softwares que nesta ótica podem ser feitos em qualquer linguagem que o .NET será capaz de interpretá-lo. Com isto o uso de componentes torna-se mais evidente como uma maneira de facilitar processos visto que um componente pode ser facilmente usado em qualquer linguagem de programação graças a CLR que ela é o ambiente de execução para todos os componentes.

1. Introdução - O que é .NET?
.NET (.NET Framework) é uma criação da Microsoft que visa criar uma plataforma única para desenvolvimento e execução de sistemas e aplicações diversas de forma que qualquer código gerado em .NET possa ser executado em qualquer sistema operacional. Neste caso ele se assemelha muito a idéia da maquina virtual Java que é um ambiente multi-plataforma de forma que os códigos saiam em .NET e possam ³rodar´ em qualquer outro ambiente. Atualmente a plataforma .NET é capaz de interagir com mais de 20 linguagens diferentes comportando-se como uma única linguagem. Isto é possível porque está sobre uma CLR (Common Languagem Runtime) ou ainda ambiente de execução independente de limguagem. Ela interagir com um conjunto de bibliotecas unificadas (Framework). O .NET é uma plataforma de software que conecta informações, sistemas, pessoas e dispositivos, ela une uma grande variedade de tecnologias de uso pessoal e de negócios variados, de celulares a servidores corporativos, permitindo acesso a informações importantes, onde e sempre que forem necessárias.

NET o formato de componentes passou a se chamar CLS e traz diversas vantagens sobre o formato dos componentes COM.De forma que o software ou aplicativo desenvolvido sobre esta plataforma independa de sistema operacional. Na sua criação ele propunha um ambiente em tempo de execução que forneceria todos os tipos de serviços uteis tais como herança entre linguagens e um controle de acesso em tempo de execução para que lidassem com a orientação a objetos. Ela dá suporte a alguns serviços como:  Registro de eventos .NET possui um namespace chamado EnterpriseServices que permite que os serviços do COM+ sejam utilizados pelos componentes CLS. no Windows NT ou sistema superior. Depois de algumas versões e várias correções de problemas identificados a Microsoft lançou o Microsoft Transaction Server ou COM+ 1. dispositivos. COM+ (Component Object Model) ± Breve Historico COM+ é um complemento para Component Object Model (COM).NET. o CLR. IL. não se encarrega de questões de escalabilidade importantes para um servidor de aplicações. Mas o . não existe um servidor de aplicações exclusivo para componentes CLS. Posteriormente veio a ser chamado de Microsoft . 2. Esta plataforma propõe ser um modelo baseado em componentes que a partir de um conjunto de serviços do sistema este possa ser um modelo a ser utilizado pelos desenvolvedores. Desta maneira. o CLS. Assim sendo. A idéia fundamental por trás da plataforma . computadores.0 e este seria integrado ao Windows 2000. o CLR. Mas o CLR apenas controla a execução do código IL.NET é software e aplicativos estejam livres de vinculo com linguagem ou tecnologias de desenvolvimento. fazendo com que códigos gerados sobre uma linguagem sejam facilmente assimilidado e compreendido dentro da plataforma. Esta plataforma é vista como uma resposta da empresa Microsoft como o Enterprise JavaBeans (EJB). Assim sendo todos os componentes CLS rodam dentro de um ambiente controlado. Ao contrário dos componentes COM. transações e serviços conectam-se diretamente e trabalham em conjunto para fornecerem soluções mais amplas e ricas em detalhes. que precisa ser executado por outro software. de forma que seja relativamente fácil criar aplicativos de negócios que funcionem bem a partir do Microsoft Transaction Server (MTS). No . podemos construir nossos componentes no novo formato. os componentes CLS não estão diretamente em código de máquina mas sim em um código intermediário. tipo do computador ou dispositivo móvel que esteja sendo usado independentemente da sua linguagem de criação. e inseri-los dentro do velho COM+ exatamente como temos feito com nossos componentes COM. De fato.

Sejam eles: y y y y EXE (arquivos executáveis. notifique outro para a continuidade de outro evento dependente deste resultado. recuperar o código original) idéia não muito quisto entre as empresas de desenvolvimento de software que tem como negócio a venda de softwares produzidos sob esta plataforma.  Filas de solicitações recebidas de forma assíncrona para um determinado serviço. Como exemplo podemos citar o caso de um web site desenvolvido em ASP. Um compilador JIT será disponibilizado para cada plataforma na qual a . 3. Arquitetura . Uma na distribuição gerando os códigos ³bytecodes´ e a outra compilação ocorre na execução do programa. quando este entra pela primeira vez em uma página JIT esta irá compilá-la nas outras vezes em que o programa for chamado novamente.NET Framework.NET A plataforma . DLL (bibliotecas de funções). E para diminuir os prejuízos gerados por este recurso (engenharia reversa) algumas empresas utilizam . assim você sempre terá código nativo em qualquer plataforma que rode a .Net. princípio também adotado em Java onde os programas desenvolvidos são compilados duas vezes.NET Framework rodar. Desta forma um programa é escrito em qualquer uma das linguagens de programação suportadas e disponíveis para a plataforma e o código fonte gerado pelo programador é então compilado pela linguagem escolhida gerando outro código intermediário chamado de MSIL (Microsoft Intermediate Language). capaz de interpretar várias linguagens. Este código novo é gerado em um arquivo na linguagem Assembly (linguagem ao nível de máquina ± baixo nível) de acordo com o tipo do projeto em execução. ASPX (pagina web). Programas). Enterprise Management Infrastructure (Infra-estrutura de gerenciamento empresarial). isto de acordo com o tipo de código gerado anteriormente. neste caso ele usa a primeira compilação como modelo para as demais.NET é baseada em JIT (Just in time compiler) ³apenas um compilador´. o componente que o processou.  Possibilidade da ocorrência de um evento. Por esta arquitetura utilizar a MSIL que possibilita o uso de engenharia reversa (possibilidade de através de um código compilado. Outro recurso é pré-compilar o código através de ferramentas especificas de maneira a não haver custo de compilação JIT durante a execução.  Interceptação de pedidos do sistema designado para efeito de garantia de segurança. ASMX (web service). Quando o programa é chamado para execução este é novamente compilado pelo compilador JIT (Just in time).

além disto.ferramentas que escondem. a forma de interpretação de várias linguagens sob um única plataforma. Também torna se bastante fácil de distribuir os diferentes componentes de uma aplicação entre diferentes computadores em uma rede. Na figura 1.NET Framework. esta cria um objeto que pode ser executado pelo computador. Como o .NET usem herança. . outra aplicação pode ser desenvolvida através da reutilização de componentes já existentes sem a necessidade de compilar o aplicativo.NET. trocam nomes de vari veis. A classe tem propriedades descritas em umainterface. Figura 1. propicia herança de classes entre linguagens.NET (COM+) funciona? A idéia da plataforma é o conceito de reusabilidade do código e isto se faz c om a adoção de componentes. Coisa que a COM nã conseguia fazer por causa o das grandes diferenças de implementações e linguagens. há uma representação de como é a arquitetura do Framework. No momento em que uma classe é instanciada. ou seja. permite que uma classe escrita em uma linguagem derive de outra classe -base de outra linguagem de programação.Arquitetura Framework . Para tudo isto ocorra o . um componente é composto de uma ou mais classes que descrevem objetos e métodos que podem ser executados.NET 4. métodos e interfaces que usam a linguagem M Tudo para dificultar o uso da engenharia reversa.NET se pauta nos seus dois principais pilares: No seu conjunto de bibliotecas presentes no Framework e principalmente na C R (linguagem comum em tempo de execução). Desta forma ele pode ser executado juntamente com outros componentes e cada um irá guardar as suas características e compreenderá as características dos outros componentes. Além de sua auto-descrição. Com a adoção de uma linguagem de programação intermediária (IL) padronizada do CRL permite aos aplicativos . O . ou seja. que é um programa de bloco de construção que se auto descreve.

de forma que esse código não precise ser recompilado quando houver uma nova invocação do mesmo método. o que na verdade são arquivos vinculados dinamicamente a uma DLL. Esta ferramenta converte a Intermediate Language (IL) em código nativo. O CLR (Common Languagem Runtime) é centro do Microsoft . A CLR também tem a capacidade de se adaptar a ambientes multi-processados. Sendo assim. gerenciamento de threads e segurança. objetos. Ela é a língua franca do . A CLR é baseada em um padrão conhecido como Common Language Infrastructure (CLI). O CLR fornece diversas funções e serviços necessários para a execução de programas. classes e seus métodos e dados são compilados em módulos binários executáveis. A CLR é capaz de executar diferentes linguagens de programação. a fim de prover o melhor aproveitamento destes ambientes. A CLR fornece também o just-in-time (JIT) compiler.NET.NET Framework que fornece o contexto para que sejam executadas aplicações escritas em código gerenciado.NET Framework gera IL. todo compilador que faz parte do . O compilador JIT. o compilador do C# gera IL. tratamento de exceções. a CLR é uma máquina virtual.  Normal-JIT: Compila o código sob demanda e joga o código resultante em cache.Quando se usa o . pelo simples fato que o código fonte que o programador digita é compilado gerando um código intermediário em uma linguagem chamada MSIL (Microsoft Intermediate Language). Temos então um texto fonte de alto nível como entrada para um compilador que gera como saída uma linguagem intermediária também em alto nível.NET. mas a capacidade da CLR se estende além de uma simples máquina virtual. imposição de segurança de tipos.  Econo-JIT: Utilizado em Hand-Helds onde a memória é um recurso precioso. ou seja.NET que esta sendo executada e o armazena no cache para uso posterior. Por exemplo: A CLR se comporta de forma diferente no Windows 98 e Windows ME em relação ao Windows XP e Windows 2003. Este novo código fonte gera um arquivo chamado "Assembly" e a depender do tipo de projeto ele pode gerar as . A IL é uma nova linguagem projetada para ser eficientemente convertida em código nativo em diferentes tipos de dispositivos. A Common Language Runtime (CLR) é um componente do . capaz de ser executado pela CPU. Isso porque existem diferenças fundamentais entre estas 2 famílias.NET Framework. O código executado no CLR é chamado de código gerenciado. incluindo a compilação JIT (Just-In-Time).NET Framework é ele que fornece o ambiente de execução para todo o código do . o código é compilado sob demanda e a memória alocada que não esta em uso é liberada quando o dispositivo assim o requer. alocação e gerenciamento de memória. também conhecido como JITTER tem três tipos:  Pré-JIT: Compila de uma só vez todo o código da aplicação . Algumas vezes. A CLR entende internamente o seu próprio contexto e responde apropriadamente dependendo do sistema operacional em que se encontra. que define um ambiente de execução independente do sistema operacional. O compilador do Visual Basic gera IL.

é possível criar procedimentos armazenados. Isto significa que com COM. . A IL é uma linguagem de nível mais baixo que o VB ou o C#. Por exemplo. O código gerenciado usa a CAS (segurança de acesso do código) para impedir que os assemblies executem determinadas operações. mas são padrões binários. com o framework é possível também pré-compilar o código. você tem interoperabilidade entre linguagens em tempo de design.NET pode reutilizar a IL compilada criada em qualquer linguagem . Todo código que é gerado na plataforma .EXE . . fazer engenharia reversa devido a ao fato da arquitetura . Todas as linguagens são linguagens de primeiro nível. os programas são compilados 2 vezes. ela pode ser considerada uma remanescente da linguagem assembly.NET Framework Class Library. mesmo se estes componentes sejam escritos em linguagens diferentes. A CLR também define um sistema de tipos padrão para ser usado por todas as linguagens que a suportam.NET . é código não-gerenciado. todas. . Com o CLR instalado no Microsoft SQL Server (a chamada integração CLR).NET. Algumas linguagens são mais apropriadas para resolver determinados tipos de problemas.NET tem acesso ao . Para os programadores mais antigos. No momento da execução do programa o código é novamente compilado. Qualquer desenvolvedor . tipos e agregações definidas pelo usuário no código gerenciado.NET são idênticas. mas em um nível um pouco mais alto de abstração. suporte a versões e coleta de objetos que não estão em uso (Garbage Collection). então podemos considerar de que todo código gerenciado é o mesmo para a CLR independente da linguagem de alto nível que é utilizada. Isto significa que as linguagens do tipo CLR terão os integers e longs de mesmo tamanho.NET. Como o código gerenciado é compilado em código nativo antes da execução. é possível obter aumentos significativos de desempenho em alguns cenários. O código que não opera com o CLR é chamado de código não-gerenciado. Além disso. Se considerarmos que todas as linguagens encontradas no . Com o padrão .NET são compiladas em IL e a CLR executa a IL. De forma que todo o código anterior. ou seja. ou qualquer outra combinação de linguagens criadas para a CLR. você pode passar uma referência de uma classe de um componente para outro. Toda linguagem .ASPX ± página web .seguintes extensões de arquivos: . Isto . e elas terão. Você também pode derivar uma classe no C# de uma classe base escrita em VB .NET é chamado de código gerenciado. você tem interoperabilidade de linguagens em tempo de execução. funções. Não esqueça que COM também tem um conjunto de tipos padrão.DLL . desta vez pelo JIT (Just In Time Compiler). O SQL Server utiliza a CAS para ajudar a proteger o código gerenciado e evitar o comprometimento do sistema operacional ou do servidor de banco de dados. Isso não significa que as linguagens . Gerenciado porque ele é controlado pelo CLR (Common Language Runtime) que fornece os seguintes serviços: integração entre linguagens. segurança.NET utilizar a MSIL. como código COM.sem mais preocupações com BStrs e CStrs! Este sistema padrão de tipos abre as portas para uma poderosa interoperabilidade entre linguagens. o mesmo tipo de string . gatilhos.ASMX ± que é o Web Service .

Figura 2 ± Funcionamento do proxy RCW Embora o RCW pareça ser um objeto comum para .O tempo de execução mantém um único RCW por processo para cada objeto .NET e um objeto COM. NET e não dá suporte ao framework . Por esta razão não podemos misturar código gerenciado e não -gerenciado numa mesma aplicação pois um . passar uma referência para outro domínio de apli ativo. O código gerenciado não depende só do CLR.NET (CLR).NET. independentemente do número de referências que existem sobre esse objeto. Como mostra a ilustração da Figura 3. não reconhece o outro.NET acessando dois componentes COM: cliente. um proxy para o primeiro objeto será c usado.porque o COM foi lançado antes de existir o .dll. A figura 2 mostra o esquema de como o RCW ultrapassa a fronteira existente entre o código gerenciado e o não -gerenciado. qualquer número de clientes gerenciados podem conter uma referência para os objetos COM que expõe interfaces INew e INewer. O tempo de execução cria exatamente um RCW para cada objeto COM. A solução para este problema de interação de códigos é usar um Proxy.dll e servidor. Que é parte de uma aplicação que aceita comandos de outros componentes. mas espera pelos outros componentes com os quais ele irá interagir. modificaos e reenvia-os para outro componente. . Temos um aplicação . o Runtime-Callable Wrapper (RCW). Se você criar um RCW em um domínio de aplicativo e em seguida. a sua principal função é empacotar as chamadas entre um cliente . Na necessidade de chamar um código não gerenciado a um código gerenciado (integração) podemos citar um como exemplo. de maneira que não pode utilizar os serviços do CLR.

Acessando objetos COM através do Runtime Callable Usando derivadas de metadados de uma biblioteca de tipo. Especificamente. o chamador recebe uma String. sempre que o cliente e o servidor têm diferentes representações dos dados transmitidos entre eles. como parte de um argumento para um objeto não gerenciado. o RCW fornece o empacotamento de argumentos de métodos e valores de retorno do método.O tempo de execução executa a coleta de lixo no RCW. usando um mecanismo chamado garbage collection (coleta de lixo). O CLR detecta quando um programa não está mais usando ess memória e a recicla a automaticamente.Se o objeto COM retornar um BSTR para o chamador gerenciado.NET Framework organiza a funcionalidade do sistema operacional por meio do espaço de nomes System. Todos os objetos.2002). Outro ponto importante é que esta hierarquia evita que nomes de objetos e funções sejam iguais aos nomes usados pelo sistema operacional e com os nomes usados por outros . quando um cliente .Por exemplo. O . O invólucro norma impõe regras internas de empacotamento. o tempo de execução cria tanto o objeto COM que está sendo chamado e um invólucro para esse objeto.Figura 3 . desta forma é mais fácil encontrar o que se deseja.NET passa um tipo String.NET propicia gerenciamento de memória automático. interfaces e funções são organizadas de maneira hierárquica. Outros tipos exigem não nenhuma conversão. (PLATT . Tanto o cliente e o servidor de enviar e receber dados que lhes é familiar. o wrapper converte a string para um tipo BSTR. O . Um programa não precisa mais liberar explicitamente a memória que ele tenha reservado.Cada RCW mantém um cache de ponteiros de interface sobre o objeto COM empacotado e libera sua referência sobre o objeto COM quando o RCW não é mais necessária.

Uma outra vantagem do uso do código gerenciado é a segurança de tipos ou a garantia de que o código acesse apenas os tipos de modos permitidos e bem definidos. Com a funcionalidade que se encontra na Biblioteca do . O Microsoft Visual Basic . esses recursos podem representar um motivo convincente para implementar determinada funcionalidade de banco de dados no código gerenciado. Como por exemplo: o System. C# e outras. incluindo o tratamento de cadeias de caracteres e expressões regulares. loops foreach. você tem acesso a . Vantagens da integração CLR O Transact-SQL. da Microsoft. o CLR verifica se o código é seguro. de modo que é preciso fazer com que as ferramentas de desenvolvimento saibam como incluir todas as DLLs necessárias. foi projetado. Por esta razão ele (system) é muito grande sendo necessário subdividi-lo em espaços menores e subordinados ao system. o código relacionado pode ser facilmente organizado em classes e namespaces (espaços de nomes). robusta. 5. ele não é uma linguagem de programação totalmente desenvolvida. como encapsulamento. Ao trabalhar com grandes quantidades de código do servidor. além de oferecerem recursos orientados a objeto.desenvolvedores. permite aos desenvolvedores criar objetos de banco de dados utilizando linguagens como VB. O CLR também pode ajudar garantir que o código não manipule espaços de memória não gerenciada. segura e exclusiva do SQL Server. mas o código gerenciado tem suporte integrado para elas.2002). Porém. A integração CLR oferece a possibilidade de melhorar o desempenho. Dependendo do cenário.NET e o Microsoft Visual C#. apresentando suporte abrangente para diversas tarefas complexas. (PLATT . Todas a funções e objetos do . ela não dá suporte a matrizes.NET Framework. coleções. O espaço de nomes System é implementado em várias DLLs separadas. O código gerenciado é mais adequado que o Transact-SQL para cálculos e lógica de execução complicada. isso permite organizar e manter seu código de forma mais fácil. deslocamento de bit ou classes. Agora.NET estão no espaço de nomes.Console que contém todas as funções de entradas e saída de uma janela de console.NET Framework. herança e polimorfismo.NET. De foram que nenhuma memória que não tenha sido gravada previamente seja lida. A integração do SQL Server 2005 e o . A linguagem Transact-SQL é uma extensão da Microsoft ao padrão SQL-92 e adiciona melhorias e recursos que fazem dela uma linguagem de acesso e manipulação de dados eficiente. Antes da execução do código gerenciado. Embora o Transact-SQL seja excelente no gerenciamento e no acesso a dados. principalmente para a manipulação e o acesso direto ao banco de dados. Algumas dessas construções podem ser simuladas no Transact-SQL.

Essa possibilidade tem gerado muitas dúvidas em relação à segurança geral da Framework . passando de um ambiente de aplicativos e dispositivos isolados para uma gama muito maior de computadores.Net.  Aplicativos Legados: a arquitetura subjacente do Visual Studio. use o Transact±SQL quando o código executar o acesso a dados principalmente com pouca ou nenhuma lógica de procedimento eescolha o código gerenciado para funções que utilizam intensamente a CPU onde os procedimentos apresentam lógica complexa. Fica a dúvida então em relação à compatibilidade com os componentes ActiveX já existentes. dispositivos. 6.EXE  Compilação reversa: a IL é susceptível à compilação reversa. transações e serviços que se conectam diretamente e trabalham em conjunto na busca de soluções mais amplas e ricas. Conclusão O principal foco do Microsoft . criptografia e outros.INT.NET. Elas podem ser acessadas facilmente de qualquer procedimento armazenado. Os WebServices fazem parte de uma ambiciosa estratégia da Microsoft. 7. onde a linguagem já não é tão determinante. A BCL (Base Class Library) inclui classes que fornecem funcionalidade para manipulação de cadeias de caracteres. A Microsoft gostaria de ver todos os tipos de empresa hospedando WebServices. tem-se a tendência de diminuir problemas de implementação. Nesta ótica de desenvolvimento proposto. não . Contudo.NET  Performance: o conceito da compilação gerando linguagem IL com o JIT carregando a aplicação é muito semelhante à compilação Cobol gerando código intermediário . acesso a arquivos. da mesma forma que se utiliza hoje o VBA (Visual Basic for Applications) para criar soluções para aplicativos Office e VBA. eles não são tecnicamente a mesma coisa e trabalham com o ASP. mas só o tempo dirá se a empresa alcançou seu intuito de ver os WebServices utilizados em larga escala. pois um . gatilho ou função definida pelo usuário. possibilita o desenvolvimento independente onde um mesmo componente pode ser usado em varias linguagens que são reconhecidas pela plataforma . Em resumo.NET Framework.COM. sendo carregado pelo runtime.NET. operações matemáticas avançadas. Algumas desvantagens do . o conceito é promissor. E com esta portabilidade traz se o beneficio da redução de tempo e custo do desenvolvimento. Além disto. e os aplicativos do futuro deverão apenas "juntar" os vários WebServices. ou quando desejar usar a BCL do .NET Framework. baseada no uso cada vez maior de componentes multi-linguagens. Isto em um cenário de uso cada vez maior de componentes sempre focando na possibilidade de reuso destes.  WebServices: apesar dos WebServices se comportarem como objetos . E neste caso é mais lento que um.NET é fazer uma mudança de paradigma.milhares de classes e rotinas pré-criadas.net não é COM.

NET Framework é um forte concorrente a máquina virtual Java propondo a adoção de uma plataforma multi-linguagens com gerenciamento de memória. mas conta com o aval de uma empresa reconhecidamente mestre em fazer apostas bem sucedidas. Afinal de contas ³ninguém deseja reinventar a roda´. ou tem algum de nos que não tenha usado o ambiente gráfico da família Windows?. O . com o passar do tempo e com o uso massificado desta plataforma. Esperemos para ver do que o .componente deve ser amplamente testado antes de disponibilizá-lo. descobriremos se ele cumpri ao que tem prometido aos desenvolvedores de softwares. tudo isto associado a idéia de reusabilidade de todos os seus componentes.NET é capaz. O .NET embora em desenvolvimento tem um amplo caminho a percorrer. segurança do código e facilidade de implementação. .

asp?comp=7000&hl=> . Rafael O que é . Nascimento.aspx > .acesso em: 25/03/2011.disponivel em: < http://msdn.Curso de Introdução a Plataforma .acesso em: 25/03/2011 Runtime Callable .NET Framework Conceptual Overview ± disponível em: <http://msdn.com/en-us/library/zw4w595w. acesso em Gontijo.br/artigo/309/Voc%C3%AA-temcomponentes-COM-e-quer-aproveit%C3%A1los-em-NET.NET Framework disponível em: <http://www.acesso em: 29/03/2011 Introdução ao Framework DotNet e à Linguagem C# .com. David.com. Platt.php> 20/03/2011.microsoft. Renato ± Você Tem componentes COM e quer aproveita-los em .NET ± Iniciando ± editora: Makron Books ± São Paulo ± SP.devmedia. Framework DotNet ± disponível em: <http://www.com/doc/49344276/ApostiladotNET> . .sirmacstronger.aspx> acesso em: 20/03/2011.acesso em 27/03/2011.br/articles/viewcomp.devaspnet.acesso em 23/03/2011.NET? ± disponivel em: < http://www.com.NET? disponível em: < http://www. Guimarães.br/artigos/notframenet.acesso em: 20/03/2011.aspx> .eti.br/dotnet/introddotnet.com/net/> .microsoft.fromsoft.linhadecodigo.aspx > .Referências: S.html> .com.disponível em: < http://www.(2002) ± Microsoft .br/colunas2/coluna2602. . Breno & Júnior. Cláudio .acesso em 27/03/2011. .com/enus/library/8bwh56xe.microsoft.scribd. Novidades do Transact-SQL ± disponível em:< http://www.Net FrameWork SDK ± disponível em :< http://pt.

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->