Receita para converter ASPX para Razor publicada no Nuget

NugetEstou preparando a palestra que farei com o Victor Cavalcante no TechEd Brasil 2011 nesta semana. Estava tentando pensar em alguma receita que fizesse sentido demonstrar. Não queria demonstrar a mesma que foi feita pelo Phil Haack no Build. A ideia que meio à mente é que eu preciso converter páginas ASPX pra Razor de vez em quando, e se estiver em um projeto que quero converter tudo, vai dar o maior trabalho. Pensei em fazer isso, e fiz.

O Nuget está publicado aqui. Pra usar é fácil:

Instale o Developer Preview do ASP.NET MVC 4, recipes só funcionam com ele.

Adicione uma referência do Nuget:

Abrindo o gerenciador de pacotes

Procure por “recipe”. Por enquanto só tem duas receitas publicadas, a do SDK, feita pelo próprio Phil Haack, e a minha:

Consultando as recipes existentes

Instale. Após instalar ela não fica aparecendo como instalada. Imagino que isso é porque a recipe por padrão não coloca nenhuma referência do projeto. Eles devem resolver isso nas próximas versões, imagino. Após mandar instalar ela aparecerá no diretório packages:

image

A partir daí, basta clicar em qualquer diretório de views com o botão direito, selecionar Add > Run Recipe:

Rodando receitas

Vai aparecer as receitas que você pode rodar:

Escolhendo uma receita

Se você não tiver nada pra converter a receita não aparece. Selecione ela e clique em ok:

Escolhendo as views pra migrar

Aparecem as views que podem ser convertidas. Notem que ChangePassword.aspx não aparece, porque ela já está convertida:

Views já migradas

Selecione as que quer converter e clique em Convert!.

Ele vai converter. No próximo post vou explicar como a receita foi feita. No TechEd vou mostrar ao vivo.

Autor: Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador.
Programa porque gosta, e começou a trabalhar com isso porque acha que trabalhar como administrador é meio chato. Por esse motivo sempre diz que nunca mais vai virar gerente de ninguém. E também porque acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é melhor que hierarquia. Mas isso é outro assunto.
Foi reconhecido  Microsoft MVP depois que alguém notou que ele não dormia a noite pra ficar escrevendo artigos, cuidando e participando do .Net Architects, gravando o podcast Tecnoretórica, escrevendo posts no blog e falando o que bem entende no twitter @giovannibassi. E por falar nisso é no twitter que conta pra todos que gerencia de projetos deve ser feita pelo time e não por um gerentes, que greves em TI são coisas sem sentido e que stored procedure com regras de negócio são malígnas.
Você já deve ter percebido (até porque está lá na primeira frase) que Giovanni é agilista. De tanto gostar disso ele trouxe os programas de certificação e treinamento  PSD e PSM da Scrum.org pro Brasil, e por causa deles, do MVP e de algum trabalho que aparece tem que ficar indo pros EUA de vez enquando, coisa que prefere não fazer. (É bem comum você ouvir ele perguntando porque a Scrum.org e a Microsoft não estão na Itália, por exemplo.)
Junto com alguns Jedis criou a Lambda3, que, apesar de ser pequena e de não ser muito comum no Brasil, insiste em fazer projetos e consultoria direito. Por causa da Lambda3 ele tem trabalhado mais do que quando era consultor independente, mas menos do que a maioria das pessoas. Quer dizer, isso se você considerar que os trabalhos junto à comunidade não são trabalho, caso contrário ele trabalha mais que a maioria das pessoas.
Recentemente ele resolveu que merecia viver melhor e ganhar uns anos de vida e desistiu de ser sedentário, fazendo algum barulho de vez em quando com os amigos no twitter com a hashtag #DotNetEmForma. Por causa do convite recente de amigos do lado Open Source (que ele respeita e admira), começou a escalar, e agora está sempre com as mãos machucadas. Mas ainda dá pra programar. Você encontra ele sempre em algum evento, como o TechEd, e o DNAD, mas também outros menos comuns para o pessoal do .NET, como a RubyConf. Nesses eventos, ou ele está vendo palestras, ou batendo papo com alguém, ou codando alguma aplicação que alguém achou que dava pra fazer durante o evento.