c# - salto - La plantilla T4 genera nuevas líneas adicionales en algunas PC
saltos de línea en c# (1)
¿Qué @ ralf.w. Estaba llegando a la solución a este problema. Los finales de línea en los archivos .tt
en la computadora problemática eran LF
y esto hace que se generen finales de línea adicionales cuando se ejecuta la herramienta de transformación. Los finales de línea correctos deben ser CR
LF
. Una vez que cambiamos los finales de línea en los archivos .tt
, los archivos de salida se generaron correctamente. También cambié la configuración de fin de línea en Git para realizar el pago tal como está, confirmar como está. Esta pregunta contiene información sobre el significado de los ajustes de final de línea y dónde se pueden cambiar.
Se usó Notepad ++ para convertir los archivos .tt
problemáticos a CR
LF
(no tuvimos tantos). Vaya a Edit
→ EOL Conversion
→ Windows (CR LF)
Mientras se usan las clases T4 para el marco de la entidad, hay un par de desarrolladores que generan clases con una nueva línea adicional para cada línea generada. Me pregunto si este es un tipo de configuración que debe cambiarse para que sus archivos generados en T4 se vean como los archivos generados de otros desarrolladores. Como ejemplo de lo que estoy hablando: (eliminó nombres específicos pero debería poder ver la diferencia en el número de nuevas líneas generadas desde el mismo archivo * .tt).
( Actualización: el problema ocurre también en otras plantillas T4, no solo en EF. Ambas PCs están usando TextTemplatingFileGenerator como herramienta personalizada de T4).
Salida T4 desde mi PC:
public virtual DbSet<GeneratedObject1> GeneratedObject1 { get; set; }
public virtual DbSet<GeneratedObject2> GeneratedObject2 { get; set; }
public virtual int SomeMethod1(Nullable<int> inParameter)
{
var localParameter = inParameter.HasValue ?
new ObjectParameter("SomePropertyName", inParameter) :
new ObjectParameter("SomePropertyName", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SomeMethod1", localParameter);
}
public virtual int SomeMethod2(Nullable<int> inParameter)
{
var localParameter = inParameter.HasValue ?
new ObjectParameter("SomePropertyName", inParameter) :
new ObjectParameter("SomePropertyName", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SomeMethod2", localParameter);
}
Salida T4 desde su PC:
public virtual DbSet<GeneratedObject1> GeneratedObject1 { get; set; }
public virtual DbSet<GeneratedObject2> GeneratedObject2 { get; set; }
public virtual int SomeMethod1(Nullable<int> inParameter)
{
var localParameter = inParameter.HasValue ?
new ObjectParameter("SomePropertyName", inParameter) :
new ObjectParameter("SomePropertyName", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SomeMethod1", localParameter);
}
public virtual int SomeMethod2(Nullable<int> inParameter)
{
var localParameter = inParameter.HasValue ?
new ObjectParameter("SomePropertyName", inParameter) :
new ObjectParameter("SomePropertyName", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SomeMethod2", localParameter);
}
Editar:
(De aproximadamente el mismo texto en el archivo). Mi archivo: