Busca online em todo site:
PROGRAMANDO EM ASP.NET

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




Título do Artigo

Gerando uma dll com sistema web


Data Publicação: 2/2/2007 23:59:29
Total de visualizações: 4675

comente
 


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

 

        

 



Total de visualizações: 4675
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite 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): VOCÊ PRECISA ESTAR LOGADO

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

Gerando Relatório e Exportando para o Excel Com Visual Studio.Net 2005
Trabalhando com Session
Nova geração HTML
Sistema ASP 3.0 utilizando 3 camadas – Parte 2
Google e Amazon
UPLOAD – Enviando imagem pela Internet
Criando menu dinâmico com C#.NET (Passo 2) - Com diferenciação de usuário
CRIANDO MENU DINÂMICO COM C#.NET Passo 1
Sistema ASP 3.0 utilizando 3 camadas – Parte 1
Integração é necessário
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
XAML Power Toys
Copa Microsoft de Talentos
Microsoft lança seu próprio QRCode
Vídeo - Mitos da bateria
As várias maneiras de mandar e-mail utilizando .NET
Usando themes ASP.NET 2.0 (Parte 1)
Criando Email Modelo no Mail - MacBook
GridView Parte III
Um desejo de felicidade
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Cortando String XML
Framework SkyMenu
DateDiff em C#.NET
Criando arquivo usando Visual Studio.NET 2005
Promoção de Certificação Second Shot
Google Sync Mobile
Você tem boa postura no trabalho?
Visual Source Safe ? Série 2
Ajax parte II
Vem ai a semana de Interoperabilidade
Internet Explorer 8
Confira os 5 primeiros ganhadores da promoção assinatura online grátis DEVMEDIA.COM e ASPNETI.COM
Torne-se Autor de Artigos
Vídeo - Google Earth Live em tempo real

Publicidade:

[sumir] [aparecer]
NETITC




Informações Online:

Usuários Online: 265
Artigos:  651
Vídeos:  47
PodCast's:  31
Fórum:  3098
Empregos:  1223
Usuários Cadastrados: 5783

Categoria de Artigos

Vídeos

Enquete - Dê sua opinião

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 379 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC