Necesito que la fecha de compilación esté codificada de alguna manera en el código.Agregar fecha de compilación al código
¿Cómo puedo hacer eso?
Gracias
Necesito que la fecha de compilación esté codificada de alguna manera en el código.Agregar fecha de compilación al código
¿Cómo puedo hacer eso?
Gracias
En la mayoría de mis proyectos utilizo la función 'RetrieveLinkerTimestamp'.
public DateTime RetrieveLinkerTimestamp(string filePath)
{
const int PeHeaderOffset = 60;
const int LinkerTimestampOffset = 8;
byte[] b = new byte[2048];
Stream s = Stream.Null;
try
{
s = new FileStream(filePath, FileMode.Open, FileAccess.Read);
s.Read(b, 0, 2048);
}
finally
{
if ((s != null)) s.Close();
}
int i = BitConverter.ToInt32(b, PeHeaderOffset);
int SecondsSince1970 = BitConverter.ToInt32(b, i + LinkerTimestampOffset);
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0);
dt = dt.AddSeconds(SecondsSince1970);
dt = dt.AddHours(TimeZone.CurrentTimeZone.GetUtcOffset(dt).Hours);
return dt;
}
tal vez esto es de ayuda?
aplausos,
Cristiano
Lo llamé con System.Reflection.Assembly.GetExecutingAssembly(). Ubicación Y funcionó perfecto –
control Fuente o construcción de servidor de integración Continuious? no exactamente el tiempo de compilación y el código, pero obtiene un tiempo de compromiso y un número de compilación.
Te refieres a leer desde el código la fecha de mi pago y envío? Suena una solución un poco extraña. –
Puede use a T4 template generar su código donde necesite meta-información como esta.
<#@ assembly name="System.Core.dll" #>
<#@ template language="C#v3.5" debug="True" hostspecific="True" #>
<#@ output extension=".cs" #>
using System;
namespace MyNamespace
{
public class MyClass
{
// <#= DateTime.Now.ToString() #>
}
}
que la producción de la plantilla voluntad un archivo de clase que se parece a:
using System;
namespace MyNamespace
{
public class MyClass
{
// 2/9/2010 11:06:59 PM
}
}
Es posible need to add a build task or a pre-build step para ejecutar el compilador de T4 en cada generación.
Probablemente no haya nada incorporado en el lenguaje, pero puede que le resulte útil el siguiente enlace. How do I find the current time and date at compilation time in .net/C# application?
Ver http://stackoverflow.com/questions/320887/c-put-date-into-program-when-compiled/1835441 –