
Após brincar com webparts, criação de handler entre outras coisas eu voltei a trabalhar em um projeto que estava parado há meses. Em casa eu trabalho num PC rodando Win XP e como todos devem saber, não tem como rodar mais de um site ao mesmo tempo, mas o que não impede a gente de criar vários sites.
Pois bem, estava eu lá codificando e então resolvi mudar o nome do meu projeto web application. Mudei todos os namespaces para ficar de acordo e o nome do assembly gerado e fechei a solution. Quando fui carregar o puto do VS se recusou a carregar o projeto web. Sem problema, editei o .csproj no Bloco de Notas na opção <UseIIS>True</UseIIS> de True para False e o projeto carregou. Porém, ao editar a opção Use IIS Web server, toda vez que eu clicava no botão Create Virtual Directory eu recebia a seguinte mensagem de erro Unable to create the virtual directory. The location http://localhost/[folder] is already mapped to a different folder location. Pesquisei muito como resolver esse problema, mas sem sucesso. Parei o site, removi a aplicação no site, tentei reiniciar o serviço com iisreset, mas nada disso resolvia. Cheguei a revirar todas as pastas do VS e alteração no registro do windows.
Sem opções, comecei a conferir todos os sites do IIS para ver se tinha alguma coisa fora do normal. Já no primeiro site achei a maldita pasta virtual sinalizada com ícone de erro. Removi a vagabunda e tudo funcionou como era esperado.
Eu estou acostumado a desenvolver meus sites no VS 2005 sem ter que recorrer ao debug da ferramenta. Porque? Porquê é muito mais rápido dar um F5 na página do que aguardar o building do VS. Só uso o debug quando preciso conferir os dados de um objeto em determinado ponto da execução.
Bem, tentei fazer o mesmo usando o VS 2008. Criei um novo projeto de site usando o template do VS para webforms. Ao tentar acessá-lo obtive uma resposta de erro e me lembrei que preciso configurar a aplicação para trabalhar com a nova framework. Segui o procedimento padrão para realizar essa tarefa usando o IIS, mas ao tentar definir a versão do ASP.NET a ser utilizada não achei nosso novo amigo 3.5. Pensei então apelar para o aspnet_regiis.exe para registrar a aplicação para trabalhar com ASP.NET 3.5 e não encontrei o arquivo no caminho da instalação da framework. Não restando nada mais a fazer so google it!
A melhor resposta para esse "problema" encontrei no blog do Rick Strahl - Where's my .NET 3.5 (on IIS), Dude? (March 24, 2008 @ 12:36 pm). Este artigo me tirou algumas dúvidas, mas mesmo após sua leitura o erro persistiu. Como era meu primeiro projeto web escrito em C# não me dei conta de que precisava dar um build antes de tentar acessar o site hehe