Pergunta

O processo para liberar a minha candidatura para o cliente é pelo título

  • build
  • implantação Clickonce
  • Ofuscando o executável principal com Dotfuscator
  • A assinatura dos arquivos de manifesto e .application com mago
  • Zip para entrega

Eu gostaria de trabalhar em um programa de código aberto para automatizar isso, pois usa um monte de toda vez que um lançamento é necessário para o cliente. Eu acho que pedindo uma solução é um pouco demais;), de modo que seria o formato ideal? script em lotes, aplicativo C #?

Alguém tem conhecimento de uma solução existente para este processo ou dispostos a colaborar em um?

Foi útil?

Solução

Então eu acho que você não está olhando para usar MSBuild?

Porque isso também vem livre com o SDK do .net. Seus projetos do Visual Studio já são arquivos de projeto MSBuild, para que você possa usá-los e modificá-los para fazer uma compilação completa e integrada.

Para gerar sua implantação ClickOnce, você iria em seguida, usar as seguintes tarefas MSBuild:

  • GenerateApplicationManifest
  • GenerateDeploymentManifest
  • Exec
  • SignFile

Por causa de alguns problemas Eu também preciso executar mago após estes, por exemplo, para atualizar o manifesto e assiná-lo, eu uso a tarefa Exec para isso:

<!-- Correct the codebase property pointing to the application manifest file -->
<Exec 
  Command="&quot;$(SdkPath)bin\mage&quot; -Update &quot;$(DeploymentManifest)&quot; -AppManifest &quot;$(ApplicationManifest)&quot;" 
  WorkingDirectory="$(PublishDir)" />

<!-- Signing the Deployment manifest -->
<Exec 
  Command="&quot;$(SdkPath)bin\mage&quot; -Sign &quot;$(DeploymentManifest)&quot; -CertFile &quot;$(SolutionRoot)\$(Branch)\Source\esamba.pfx&quot; -Password esamba" 
  WorkingDirectory="$(PublishDir)" />

Espero que isso ajude você.

Outras dicas

Por que não usar uma ferramenta de construção como nant que é extensível com tarefas personalizadas conforme necessário.

Uma vez que este é um problema comum é provável tarefas predefinidas para a maioria das tarefas que você tem, e você pode facilmente chamar outros executáveis ??ou código personalizado escrever em qualquer linguagem .NET para adicionar tarefas.

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