Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!