DICAS .NET

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Gerando uma dll com sistema web

por Mauricio Junior em 1/1/2011 0

com Visual Studio.NET 2005

 

         Olá pessoal, estou disposto a mostrar como gerar um sistema web com Visual Studio.NET 2005 onde depois de compilar cria apenas uma dll. Isso é bastante interessante, porque usa apenas uma compilação depois que o sistema é acessado a primeira vez, ou seja, ao acessar a primeira vez todo código é compilado demorando um pouco mais, depois disso se torna muito mais rápido acessando a segunda vez.

 

         Nos dias de hoje, desenvolvedores criam suas aplicações do tipo “WebSite” e com isso é gerado inúmeras “DLLs” para a publicação. Todo código desenvolvido é compilado e distribuído entre estas dlls. Isso tudo com o Visual Studio.NET 2005. Na versão 2003 da IDE de desenvolvimento, era gerado apenas uma dll de todo código, basta colocar esta dll e os arquivos .aspx no servidor e tudo estaria funcionando perfeitamente.

 

         No ano de lançamento do Visual Studio.NET 2005, foi mostrado que depois do código desenvolvido e compilado, geraria várias dlls. Mesmo utilizando o PUBLISH cujo é uma opção a mais na ferramenta para gerar o código compilado para publicação, os desenvolvedores não gostaram desta solução. Esta reclamação chegou a dona do desenvolvimento “Microsoft” e isso foi alterado para a versão “SP Service Pack 1”. É importante dizer que são duas maneiras diferentes de publicar um software, serão mostrados aqui neste artigo.

 

Requisito:

O primeiro de tudo instalar a versão do Visual Studio.NET 2005, pode ser a Express (grátis) ou qualquer outra. O segundo passo é instalar o “SP Service Pack 1” na ferramenta, segue os links abaixo para instalação adequada caso você não tenha.

 

Download Visual Studio.NET 2005 (Express):

http://msdn.microsoft.com/vstudio/express/

 

Download Service Pack 1:

Versão Team Suite –

http://www.microsoft.com/downloads/details.aspx?FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&DisplayLang=en

 

Versão Express –

http://www.microsoft.com/downloads/details.aspx?FamilyID=7b0b0339-613a-46e6-ab4d-080d4d4a8c4e&DisplayLang=en

 

         Depois de feito o download e instalado o aplicativo, vamos a prática.

 

A prática

Forma trabalhosa

 

         Hoje é feito de uma maneira simples criar um novo projeto do tipo “WebSite”, cliquei em FILE / NEW / WEB SITE. Criando desta maneira não está errado porém o mesmo irá gerar várias Dlls para a publicação.  (Referência 1.1)

 

        

Referência: 1.1

 

Após escolher criar um novo projeto, outra tela se abriu para escolher o tipo de “templates” e a linguagem para programação. Escolhi a opção “ASP.NET Web Site” e a linguagem “Visual C#”. (Referência 1.2)

 

 

Referência: 1.2

 

 

Cliquei no botão OK e o projeto foi gerado. (Referência 1.3)

 

 

Referência: 1.3

 

 

         Para publicação deste projeto, cliquei em BUILD / PUBLISH WEB SITE. (Referência 1.4)

 

 

Referência: 1.4

 

 

No passo seguinte, uma tela se abriu contento algumas informações como: Local do projeto compilado ou “PrecompiledWeb” como é chamado, permitir que esta pré-compilação do site seja atualizada (já marcada).

 

 

Referência: 1.5

 

 

Cliquei OK e automaticamente foi gerado todos os arquivos necessário para publicação do sistema / site. Acessando a pasta dos arquivos gerados diretamente na “BIN”, notei que várias Dlls apareceram. (Referência 1.6)

 

 

Referência: 1.6

 

Acessei o servidor na internet e fui publicar o sistema / site e por uma falta de atenção deixei que uma das Dlls não fosse enviada ao servidor. Ao acessar foi mostrado um erro na página cujo não fiz qualquer tipo de tratamento, mas isso não vem ao caso agora. Ao notar que uma dll não tinha sido colocada, acessei o ftp e a adicionei. Resultado final funcionou sem qualquer problema.

 

Outro dia, houve uma atualização no sistema / site, acrescentei mais dois métodos na classe DAL para acesso ao banco de dados. Fiz novamente a compilação e gerei a publicação, gerando assim os arquivos. Pensei, colocarei agora só as dlls no servidor e estará pronto, perfeito engano, ocorreu outros erros. “Foram gerados arquivos com outros nomes e outras referências, ou seja, percebi que no arquivo “.aspx”, logo no início, possui uma referência para dll, no atributo “inherits” com o mesmo nome da dll gerada.

Isto vale para todos os arquivos “.aspx” do sistema. (Referência 1.7)

 

Referência: 1.7

 

         Resultado final, toda vez que o sistema / site foi re-compilado, mesmo que não tenha mexido em qualquer parte dos arquivos “.aspx”, terei que enviar ao servidor todos os arquivos novamente, porque a referência das páginas serão de acordo com a nova dll gerada. Querendo ou não, este é um problema enorme para mim ou qualquer desenvolver que utilize este tipo de projeto.

 

 

A prática

Nova forma depois do SP1.

 

         O que muda efetivamente é o início do projeto, ou seja, a escolha do tipo de projeto agora. Criando outro projeto, cliquei em FILE / NEW / PROJECT. Perceba que não foi em WEB SITE. (Referência 1.8)

 

 

Referência: 1.8

 

 

A tela de NEW PROJECT foi aberta com algumas opções de linguagens e tipos de projeto. (Referência 1.9)

 

 

Referência: 1.9

 

         Na tela de “Projects types” escolhi a linguagem Visual C# e em seguida o projeto WEB. Na tela de templates escolhi a opção ASP.NET Web Application. Cliquei OK pronto, o projeto foi gerado.

 

         Os passos seguintes foram: Compilei o projeto e acessei o PUBLISH indo pelo mesmo caminho. Para minha surpresa, foi gerado apenas um arquivo com o nome da aplicação. (Referência 1.10)

 

 

Referência: 1.10

 

         Dentro do arquivo “.aspx” compilado só possui a referência para esta dll e nada muda caso eu re-compilar o projeto. Isto resume um trabalho que não terei, isto é, caso mexa apenas nas classes do projeto, acrescentando ou alterando dados, basta só re-compilar e trocar a dll compilado com o nome da aplicação no servidor, posso deixar todos os “.aspx” sem mexer ou trocar. Todo o código alterado estará dentro da dll e o projeto funcionará perfeitamente e atualizado.

 

         “Caso mude algum arquivo “.aspx” sem mexer no código da linguagem, basta colocar aquele arquivo mexido dentro do servidor. Isto é ótimo para a prática no desenvolvimento de software, poupa tempo e re-trabalho.

 

Bom, fico por aqui. Espero que tenha ajudado a você entender um pouco mais sobre a ferramenta Visual Studio.NET 2005. Qualquer dúvida, favor entrar em contato via e-mail. mauricio@aspneti.com.

 

Mauricio Junior

www.aspneti.com

www.mauriciojunior.org

 

        

 

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comentado por: Reginaldo Jr. - 2/3/2007 12:26:30
Nota 10. No 2003 já era assim. Faltava isso no 2005
Comentado por: Guilherme de Carvalho Carneiro - 6/1/2008 12:05:24
Mas e no caso de já ter iniciado um projeto no modelo antigo, teria como converter para gerar apenas uma dll? Em relação à performace tem diferença?

Parabêns pelo artigo.

Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

DateDiff com intervalos escolhidos por você
Trabalhando com diretório e arquivo
O vírus do curriculum
Ebook: Aprendendo Desenvolver WebServices
MaskedTextBox da direita para esquerda
Trabalhando com Cookie usando Visual Studio.NET 2005 (parte I)
Vídeo - Themes/Skin/Stylo
Vídeo Microsoft Visual SourceSafe Parte III 3/3
ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview
Chamando Programas de Dentro do Windows Forms
Conecte - Os games
LG Optimus Black
Java J2EE – Segundo Passo
Ext JS
Registro Encontro .NET (Fotos)
PDF Free - Programando para Windows Phone 7
Fotos do HTC Mozart
Vídeo: Série Atlas.NET - Parte I
Microsoft com XBox no Windows Phone 7
Token e Sessão Corrente com C#.NET
Copiando Script
Microsoft AdventureWorks Database
Perguntas Mais Freqüentes de ASP.NET
Virtual Earth - Segundo Passo
Clique ENTER usando C#.NET
Moving to Visual Studio 2010 e-Book
Multimídia C#.NET
User Control Windows executando no Internet Explorer (parte 1 de 2)
IsWholeNumber
Vírus - Email com viagra
GMaps com ASP.NET
Pegando o nome do componente .NET dentro do JavaScript
Trabalhando com GridView e RowCommand
CRIANDO MENU DINÂMICO COM C#.NET Passo 1
WebServices usando soapHeader




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....

A Era dos UltraBooks

Os modelos mais dos Ultrabooks...




NETITC