Atualizar informações da versão com o msbuild (após a compilação de binários)

StackOverflow https://stackoverflow.com/questions/1382372

  •  21-09-2019
  •  | 
  •  

Pergunta

Eu quero fazer um alvo no meu script msbuild que:

  • Fetch SVN Revisão/DateTime da pasta Fontes (Comando 'SVN Info')
  • Atualize o recurso VersionInfo de .exes e .dlls gerados pelo alvo 'Build'

Há algo pronto para conseguir isso? Estou perguntando pouco antes de reinventar outra roda ...

Estou dando uma olhada em http://msbuildExtensionpack.codeplex.com

Foi útil?

Solução

Projeto de tarefas da comunidade msbuild é seu amigo. Verifique sua tarefa "svninfo".

Além disso, Daniel Doubrovkine's Resourcelib é um excelente trabalho e pode evitar muitas dores de cabeça ao tentar desembaraçar a bagunça da criação da versão (já estive lá, fez isso ...)

Outras dicas

Muito mais fácil de fazer isso antes da compilação escrevendo um arquivo AssemblyInfo (ou qualquer arquivo com atributos de montagem) que isso é incluído em seus projetos.

Exemplo de escrever isso em PowerShell encontrado aqui: https://github.com/craigbeck/rhino-esb/blob/master/psake_ext.ps1#l7-46

Uma ressalva - as versões no .NET não são apenas nenhuma corda, mas ushorts, o que significa que eles têm um máximo de 65535 (ver documentos aqui). Se você usar a revisão SVN (como fizemos em um ponto), sua construção será interrompida assim que exceder esse número mágico.

Por que você tentaria fazer isso após a compilação?

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