Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

208
Visualizações
¿Existe un comando de línea de comandos de C# que pueda ayudarme a obtener el hash de confirmación GIT de una aplicación?

Esta pregunta es una continuación de esta otra .

En esa pregunta, se menciona el uso de [assembly: AssemblyVersion(...)] en el archivo AssemblyInfo.cs y, mientras tanto, descubrí que está prohibido ejecutar cualquier procesamiento antes de esa línea, el único lo que está permitido es algo así como:

 [assembly: AssemblyVersion("1.0.0.0" + "-" + Namespace.Class.Attribute)], or: [assembly: AssemblyVersion("1.0.0.0" + "-" + Namespace.Class.Method())]

Pregunta inicial:
Entonces, mi pregunta: ¿hay un Namespace.Class.Attribute o Namespace.Class.Method() que contenga el hash de confirmación (o sha o sha acortado) de una aplicación C#?

Editar después de más investigación
Mientras tanto, aprendí que el comando git describe --always me brinda la información que busco, así que lo que necesito es algo como:

 [assembly: AssemblyVersion("1.0.0.0-" + Launch("git describe --always")]

... pero ¿cómo puedo ejecutar ese Launch() ?

Ya sé que puedo ejecutar un comando de línea de comandos usando System.Diagnostics.Process() , como este ejemplo:

 System.Diagnostics.Process.Start(foldervar + "application.exe", "inputfile.txt");

... pero de esta manera no capta el resultado de ese comando.

Nueva pregunta:
Entonces, ¿alguien conoce una sola línea de C# para iniciar comandos de línea de comandos y obtener su resultado?

Gracias por adelantado

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No es una sola línea, pero este artículo https://galdin.dev/blog/show-git-commit-sha-in-net-applications/ muestra una forma sencilla de ejecutar el comando y acceder al resultado. Los pasos descritos en este artículo son los siguientes,

Para hacer esto, creamos un evento precompilado que ejecutará un comando git y lo guardará en un archivo de texto. Luego agregamos ese archivo de texto generado como un recurso de cadena. Ahora se podrá acceder al recurso desde C#.

  1. Haga clic derecho en la aplicación web y haga clic en propiedades.

  2. Vaya a la pestaña de eventos de compilación y escriba lo siguiente en la línea de comando del evento previo a la compilación:

     git rev-parse HEAD --short > "$(ProjectDir)\CurrentCommit.txt"

    Obviamente, el comando puede ser reemplazado por cualquier cosa que crea conveniente.

  3. Guarde y compile el proyecto. (Ctrl+Mayús+S, Ctrl+Mayús+B)

  4. Se debe crear un nuevo archivo llamado CurrentCommit.txt en la raíz de su proyecto.

  5. Continúe y exclúyalo del Control de código fuente

  6. En la página de propiedades de los proyectos, vaya a la pestaña Recursos y agregue el archivo existente CurrentCommit.txt como recurso.

Ahora se puede acceder al contenido del archivo generado como:

 Your.NameSpace.Properties.Resources.CurrentCommit;
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda