Importar projetos antigos para o Visual Studio 2010
Hoje gostaria de comentar com vocês sobre a experiência que passei estes dias na empresa onde eu trabalho. Como a empresa trabalha com a tecnologia .NET desde o inicio, ou seja, “framework 1.0” e “framework 1.1”, existem alguns projetos grandes desenvolvidos que ainda não foram migrados para o novo “framework”.
Tag: Visual Studio 2010, C#.NET, VB.NET, Framework 4.0
O “framework” .NET atual é o 4.0 e beta 4.5. Há mais ou menos três anos eu falo para o analista do projeto migrar o framework, projetos e dlls para a versão nova. Não sei se por preguiça ou falta de tempo, o projeto nunca foi migrado. Principalmente porque o mesmo analisa ficava colocando dificuldades inexistentes para esta migração.
Ontem depois do almoço, comecei a baixar o projeto do Visual Source Safe (antigo). Para quem não sabe, uma solução pode ter vários tipos de projetos e um projeto ser de apenas um tipo de plataforma.
A solução possui 10 projetos vinculados e cada um com sua referência particular. O projeto realmente é grande. Além do “framework” da Microsoft ser 1.1 existem outros “frameworks” criado pela própria empresa para facilitar a vida do analisa / desenvolvedor. Preciso passar todos estes para a nova plataforma.
Depois de baixar toda solução, todos os projetos e seus respectivos arquivos vinculados, comecei a pensar como transformar tudo isso e compilar sem qualquer problema. Por sorte minha e saber que a ferramenta Visual Studio 2010 é uma ótima amiga, comecei por baixo.
Comecei pelo projeto “framework” da empresa. Cliquei duas vezes em cima do projeto, abriu o Visual Studio 2010 pedindo para converter. Como a maioria dos arquivos são .CS (C# CSharp) ou .VB (VB .NET), fiquei tranquilo.
Foi um NEXT, NEXT, FINISH. A própria ferramenta gera um a pasta com todo o backup do projeto (antigo) antes de converter. O “framework” foi todo convertido e ao clicar Ctrl + Shift + B (para compilar), foi compilado sem qualquer erro.
Comecei bem! Sabe o que pode impactar continuar usando o 1.1 da Microsoft? Problemas de “performance”, manter versão antiga do servidor 2003, não ter novos componentes para refatorar o código, não usar Ajax Toolkit, não migrar para o Windows 7 a ferramenta de desenvolvimento e muito mais.
O servidor 2003 com IIS estava sendo mantido devido esse sistema, único sistema. Todos os outros poderiam usar o servidor 2008 com o IIS novo. Como pensei que o trabalho iria demorar pelo menos 3 dias inteiros, lancei no sistema de tarefas da empresa que o trabalho demoraria 24 horas contando apenas 8 por dia.
Foi um engano porque não demorei a metade disso. Depois de converter o “mini-framework” da empresa, passei para os 10 projetos dentro da solução. Lembre-se, não comece da solução, faça projeto a projeto e depois a solução.
A cada projeto convertido, precisava saber se estava compilando. O próximo projeto que peguei foi um que tinha como referência uma dll do COM PLUS (COM+). Todo o código foi migrado, mas dava erro especificamente nessa dll que não existia na minha máquina.
Perder tempo
Como não queria perder tempo com esse tipo de coisa, solicitei por e-mail a dll ao analista e passei para outro projeto. Um ponto importante para a produtividade é saber o momento de perder maior tempo em pequenas coisas, como esse não era o meu objetivo, passei para o próximo projeto e marquei o anterior para rever no final.
Ainda não tinha uma solução específica, escolhi não ter ainda uma solução contendo todos os projetos convertidos, o melhor é fazer isso no final. Chegando no projeto 6 e só um com problema devido falta de dll, percebi que o “Crystal Report 7 ou 8 ” era usado.
Ao mesmo tempo que cliquei para converter, fiquei com medo de ter problemas com esse tal “Crystal Report”. No meu ponto de vista, é uma ferramenta bem antiga para gerar relatórios e que existem ferramentas novas para essa geração. O Visual Studio 2010 já possui integrado esse tipo de ferramenta, bem mais robusta e simples de desenvolver.
Paciencia e determinação
Para a minha surpresa, tudo foi convertido sem qualquer problema. Como escolhi deixar o projeto maior para o final, o do tipo “web” com suas 50 páginas .aspx, 10 .ascx e nenhuma “master page” (não existia na época), fiquei também com medo de não converter.
O projeto do tipo “web” demorou um pouco mais, em torno de 10 minutos enquanto os outros demoravam 50 segundos na média para converter. Nessas horas é bom ter paciência e determinação no que está fazendo.
Depois de 10 minutos, o projeto foi convertido com sucesso. Lógico que faltavam as referências dos outros projetos. Dessa forma, a compilação sempre dava erro.
Criando Solução
Neste momento escolhi criar a solução colocando todos os projetos convertidos. Cliquei com o botão direito em cima do projeto e escolhi adicionar um projeto existente, ao escolhe o projeto no diretório, uma solução foi criada “sem nome”.
Fui acrescentando um por um até completar todos. Depois que completou, cliquei no menu FILE e escolher salvar a solução como. Salvei a solução em uma pasta separada ou anterior dos projetos.
Salvar a solução em pasta separada do projeto principal é importante porque qualquer outro desenvolvedor que pegar o projeto vai entender que a solução em pasta anterior abre todos os projetos existentes.
O que falta agora depois de converter todos os projetos e salvar uma solução? Falta referenciar os arquivos, dlls e depois compilar tudo. Lógico, ainda não testei nada e nem devo para não ocorrer qualquer outro tipo de erro. Na pasta REFERENCES, adicionei em todos os projetos as referências que faltavam ou que o projeto pedia.
Sabe aquele falado anteriormente que usava uma dll do COM+, o analisar me mandou de forma separada. Fechei toda a solução, gerei um projeto no COM+, registrei a dll e depois abrir a solução. Automaticamente apareceu a referência no projeto funcionando. Isso é ótimo, o Visual Studio 2010 é muito bom com isso. As referências adicionadas, código compilando sem qualquer tipo de erro a não ser uma referência do “Cristal Report” dentro do arquivo “Web.Config”. Como não tenho a ferramenta cliente instalado na minha máquina, apenas comentei as 3 linhas do arquivo de configuração.
Compilou tudo e agora cliquei F5 para iniciar. Como esperava, apareceu perfeito o sistema, loguei com o meu usuário, acessei os menus carregados diretamente do banco de dados, acessei as páginas e pesquisei dados. Isso tudo em pouco mais de 3 horas, contando desde o começo.
Resolvi escrever tudo o que aconteceu para te assegurar que a conversão do 2010 funciona sem erro e direto do 1.1 para o 4.0. Não precisa passar para o 2.0, depois 3.5 e 4.0.
Espero que tenha gostado e qualquer dúvida, pode entrar em contato. Tentarei ajudar, pode postar também no fórum.
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.