Busca online em todo site:

Você não está logado, deseja logar na comunidade? 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: 4663

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: 4663
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

Exemplo usando try e catch
Desenvolvimento para TV Digital - Tópicos
Vírus / Spam Comentários
Download grátis - Sistema de Controle de Combustível
Educação no Brasil
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Artigo criando atalhos para a sua aplicação.
Trabalhando com STORED PROCEDURE
Criando e Lendo Cookie
ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview
Visual Source Safe ? Série 2
Windows Mobile Phone
Aspirador de pó inteligente
II Encontro - Um Sucesso!!! (em Brasília)
Retirar Tag HTML dos campos utilizando expressão
Trabalhando com LinkButton dentro do Gridview
Criando, utilizando e agendando sistema de backup
Desenvolvendo para iPhone com ASP.NET
Vídeo: Framework de dados - parte 1
Usando ProgressBar com Visual Studio.NET 2005
Fazer Log, precisa ou não precisa?
Visual Studio 2010 Beta 2
Artigo Criando RSS Xml para o Seu Próprio Site
2 Eventos, 1 dia: Mix On UniEURO
Serviços de Web Call Center e SMS Integrado disponível
Criando XML a partir do DataSet Tipado com Visual Studio.NET 2005 – Parte I
Novo TechNet Experience Online
Terra TV Disponibiliza Vídeos com Silverlight
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Vídeo: Windows Phone com Windows Mobile 7
Sistema em ASP 3.0 utilizando 3 camadas – Parte 3
SQL Dinâmico Compilado
Misturando dados
Sistema de Login em ASP – Parte III
Event Log Parte II - Visual Studio.NET 2005

Publicidade:

[sumir] [aparecer]
NETITC




Informações Online:

Usuários Online: 816
Artigos:  649
Vídeos:  47
PodCast's:  31
Fórum:  3098
Empregos:  1223
Usuários Cadastrados: 5777

Categoria de Artigos

Vídeos

Enquete - Dê sua opinião

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 377 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