Pergunta

Acho que a maioria das pessoas aqui entende a importância de compilações totalmente automatizadas.

O problema é que um de nossos projetos agora está usando um projeto integrado de instalação do Visual Studio (vdproj) e foi recentemente portado para o Visual Studio 2008.Infelizmente, eles não serão compilados no MSBuild e a chamada devenv.exe /build em 2008 simplesmente trava, aparentemente acontece isso em todos os computadores com vários núcleos (!!!).Então agora tenho a opção de reverter para .Net 2.0 e 2005 ou simplesmente abandonar a implantação do Visual Studio, mas primeiro, gostaria de uma segunda opinião.

Alguém conhece outra maneira automatizada de construir um .vdproj que não exija que abramos o IDE e cliquemos nas coisas?


WiX era o que eu tinha em mente quando disse que abandonaríamos o vdproj.Você tem alguma experiência com isso, coisas boas, ressalva?

Foi útil?

Solução

A solução de baixo custo é passar a usar ClickOnce, que você pode automatizar usando o MSBuild.Mas se você ainda precisar criar um pacote do Windows Installer, você precisará converter seu projeto para WiX (bastante simples) e construí-lo com sua solução.

Isso irá ajudá-lo a começar:Automatize versões com MSBuild e Windows Installer XML

Outras dicas

Já usei o WiX um pouco antes e geralmente descobri que é ótimo quando você descobre o que fazer, mas há uma curva de aprendizado acentuada.Se você passar um dia inteiro lendo o tutorial do WiX, deverá conseguir fazer com que 80% de sua configuração funcione.

Tutorial do conjunto de ferramentas WiX

Tive o mesmo requisito e acabei usando o que é sugerido nesses dois links

Blog de David Williams

Artigo MSDN

Basicamente, como o Team Build, por si só, não criará os projetos de configuração para você, essa abordagem permite adicionar uma nova etapa de construção após a conclusão da construção regular.Esta etapa inicia uma segunda compilação iniciando o devenv.exe.O IDE criará seus arquivos de configuração.A compilação extra é um pouco cara, mas só precisávamos dela para compilações que seriam adiadas.A compilação diária precisaria, no máximo, dessa personalização; nossa compilação de CI não precisa criar arquivos de configuração todas as vezes.

Depois disso, você executa alguns comandos de cópia, mais uma vez cria etapas que aparecem nos resultados de compilação do Team System, para mover os arquivos de configuração para um compartilhamento de rede, etc.

Parece um pouco complicado no início, mas funciona, também é uma parte completa da construção automatizada no Team System, por isso funcionou para meus objetivos de integração contínua.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top