Desenvolvimento - ASP. NET

Como criar um projeto no Visual Studio.NET dentro de um diretório diferente do inetpub/wwwroot

Este artigo explica como você pode criar uma pasta virtual e, com isso, conseguir criar suas aplicações web dentro de uma estrutura de diretórios organizada e, consequentemente, evitar criar várias diretórios dentro do \inetpub\wwwroot.

por Renato Guimarães



Minha primeira aplicação ASP.NET foi utilizando o Visual Studio.NET 2002. Fiquei encantando quando conclui essa primeira aplicação. Não era um ecommerce ou coisa parecida, foi simplesmente um web form com alguns controles. Eu vi esse exemplo dentro de um guia que vem dentro da caixa do VS.NET. Foi a partir desse momento que minha vida mudou..... J

Quando eu criei o primeiro projeto, percebi que o VS.NET já entrava com um caminho padrão para eu criar minha aplicação - http://localhost. Sempre que crio alguma aplicação, tenho o hábito de colocar dentro de uma pasta chamada c:\Projetos\producao | desenv\nomeProjeto. Na caixa de diálogo de criação do projeto, tentei apontar para um diretório diferente do mostrado e percebi que a caixa de diálogo desabilitou o botão Ok. Resumindo, o VS.NET só permite criar criar aplicações Web em diretórios que tenham sido publicados pelo IIS como uma pasta virtual, por exemplo, dentro de http://localhost.

Para quem ainda não conhece, o IIS (Internet Information Services) é o servidor de aplicação web do windows (eu uso winXP). Esse serviço do Windows permite sua máquina disponibilizar aplicações web para serem acessadas através da intranet e internet. No meu caso, minha máquina de desenvolvimento só é acessada na intranet. Então eu teria que criar uma pasta virtual.

Um diretório virtual é uma pasta compartilhada que é identificado por um alias que representa uma localização física no servidor. No IIS, já existe uma pasta virtual chamada de //localhost. Essa é a pasta principal ou root do seu computador. Esse alias aponta para algum local dentro do dísco da sua máquina. Por default, o IIS cria essa pasta apontando para o diretório \inetpub\wwwroot.

Imagine você colocar todos seus projetos web somente dentro desse diretório. Normalmente, você tem uma pasta para exemplos, desenvolvimento, testes, produção, etc. Vai chegar um dia que vai ficar impraticável navegar dentro desse diretório. Então, uma boa prática é você criar cada pasta separada no seu disco e, quando for criar um projeto web, apontar o caminho onde será salvo o projeto de acordo com o tipo da pasta, por exemplo - c:\projetos\desenv\nomeprojeto, c:\projetos\exemplos\tecnologia, etc.

Bem, depois dessa conversa toda, gostaria de explicar como você pode criar uma pasta virtual e, com isso, conseguir criar suas aplicações web dentro de uma estrutura de diretórios organizada e, consequentemente, evitar criar vários diretórios dentro do \inetpub\wwwroot. Isso porque, normalmente, as empresas possuem um padrão de estruturação dos diretórios de um projeto. Com bom empregado e bom conservador do seu emprego, você terá que entrar nos padrões da empresa.

Criando uma Pasta Virtual para organizar aplicações web

Como todos já sabem, o IIS é quem nos dá a possibilidade criar uma pasta virtual e, também, gerenciar as aplicações web que estão hospedadas na máquina. Para isso, vamos criar a pasta virtual e, em seguida, criaremos uma subweb adicionando uma extensão de Servidor FrontPage (FrontPage Server extensions) para pasta virtual. Um subweb é, simplesmente, uma pasta virtual que contém um web site. Adicionando uma extensão de servidor do FrontPage estamos dando condições do Visual Studio.NET criar e manter aplicações web dentro daquela pasta.

Criando a pasta virtual

Para criar a pasta, antes de mais nada, precisamos executar o IIS. Para isso clique em Start (iniciar), Settings (Configurações), Control Panel (Painel de Controle), Administrative Tools (Ferramentas Administrativas), Internet Information Services.

Clique com o botão direito sobre a pasta Default Web Site (Site Web Padrão), e selecione a opção New (Novo), Virtual Directory (diretório virtual), como mostrado na figura 1. No meu caso, o Default Web Site foi renomeado para RenatoGuimaraes.


Fig. 1 Criando uma pasta virtual

O IIS iniciará um wizard (figura 2) para auxiliá-lo na criação do diretório virtual. Clique com o botão direito sobre a pasta Default Web Site (Site Web Padrão), e selecione a opção New (Novo), Virtual Directory (diretório virtual), como mostrado na figura 1. Clique em Next (Próximo) para digitar o nome do alias.


Fig. 2 Tela inicial do wizard para criação de uma pasta virtualDigite um alias para pasta virtual (figura 3). O alias é o nome que você usará para indentificar o recurso naquela pasta. Na tela de novo projeto do VS.NET, este é o nome que você usará para especificar a localização do seu projeto.


Fig3. Informando o alias

Clique Next (próximo). O wizard mostrará a tela para selecionar o diretório dentro do dísco.


Fig 4. Especificando o diretório físico associado a pasta virtual

Selecione ou digite o caminho do diretório que será associado a essa pasta virtual. Esta é a pasta base onde as pastas do seu projeto serão armazenadas. Clicando em Next, o wizard mostrará a caixa com as permissões de acesso. Deixe as opções que estão marcadas como default e clique em next para finalizar.


Fig 5. Definindo as permissões de acesso


Fig 6. Tela informando que a pasta virtual foi criada com sucesso

Criando uma subweb – Adicionando uma extensão de servidor FrontPage

Para adicionar uma extensão de servidor FrontPage a uma pasta virtual, siga os passos abaixo:

Clique com o botão direito sobre Default Web Site, selecione New, New Server Extensions Web. O IIS iniciará o New Subweb Wizard para guiá-lo na adição de uma nova extensão de servidor FrontPage para sua pasta virtual. Clique Next para o wizard mostrar a caixa onde você informará o nome da Subweb.


Fig 7. Adicionando uma nova extensão de servidor Frontpage

Digite o nome da pasta virtual no campo Directory Name. Este nome corresponde ao alias que você digitou no passo 2 dos procedimentos para criação de uma pasta virtual. Digite uma descrição ou deixe em branco.


Fig 8. Informando o nome e uma descrição para subweb

Clique Next. O Wizard mostrará uma caixa para definirmos o Controle de Acesso – Access Control. Aceite as configurações default e clique em finish.


Fig 9. Definindo o controle de acesso para subweb

A tela final mostra uma URL com o nome da subweb que você criou. Essa URL é a que você utilizará quando for informar o caminho onde o Visual Studio.NET irá armazenar seu projeto. No meu caso, a URL é http://caracol/MeuDiretorioVirtual. Caracol é o nome da minha máquina na rede.


Fig 10. Tela informando que sua subweb foi criada com sucesso.

Depois de concluídos os passos acima, agora você pode armazenar sua aplicação web num diretório diferente do padrão. Dessa forma, será possível estruturar melhor suas aplicações e, consequentemente, manterá o padrão de estrutura de diretórios que sua empresa adota. Uma boa organização na estrutura dos diretório é um ponto importante para facilitar a manutenção, geração de versões e controle do código fonte.

Mais uma vez, obrigado a todos pela atenção e até o próximo...

Renato Guimarães

Renato Guimarães - Bacharel em Sistemas de Informação e trabalha com tecnologia da informação há mais de 15 anos.