Pergunta

Nossa equipe desenvolve aplicativos winform distribuídos.Usamos ClickOnce para implantação e estamos muito satisfeitos com isso.

No entanto, descobrimos que o problema do ClickOnce está em criando as implantações.Temos os ambientes padrão de desenvolvimento/teste/produção e precisamos ser capazes de criar implantações para cada um deles que sejam instaladas e atualizadas separadamente umas das outras.Além disso, queremos controle sobre quais assemblies serão implantados.Só porque um assembly foi compilado não significa que queremos que ele seja implantado.

A primeira escolha óbvia para criar implantações é o Visual Studio.No entanto, o VS realmente não aborda os problemas declarados.A próxima na fila é a ferramenta SDK, Mage.Mage funciona bem, mas criar implantações é um tanto tedioso e não queremos que todos os desenvolvedores tenham nosso certificado de assinatura de código e senha.

O que acabamos fazendo foi lançar nosso próprio aplicativo de implantação que usa a versão de linha de comando do Mage para criar os arquivos de manifesto ClickOnce.

Estou satisfeito com a nossa solução atual, mas parece que haveria uma abordagem aceita em todo o setor para esse problema.Existe?

Foi útil?

Solução

eu olharia para usar msbuild.Foi construído em tarefas para lidar com implantações clickonce.Incluí algumas referências que ajudarão você a começar, se quiser seguir esse caminho.É o que eu uso e descobri que atende às minhas necessidades.Com um bom processo de construção usando msbuild, você será capaz de acabar com as dores que sentiu.

Aqui está postagem detalhada sobre como a geração de manifesto ClickOnce funciona com o MsBuild.

Outras dicas

Usei o nAnt para executar a estratégia geral de compilação, mas passei parâmetros para o MSBuild para compilar e criar o pacote de implantação.

Basicamente, o nAnt chama o MSBuild para cada ambiente no qual você precisa implantar e gera uma saída de implantação separada para cada um.Você acaba com uma pasta e todos os arquivos ClickOnce necessários para cada ambiente, que você pode simplesmente copiar para o servidor.

Foi assim que também lidamos com vários ambientes de produção: tínhamos instâncias separadas de nosso aplicativo para os EUA, Canadá e Europa, de modo que cada compilação acabaria criando nove implantações, três para desenvolvimento, controle de qualidade e produção.

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