gpt4 book ai didi

c# - T4 模板在某些 PC 上生成额外的新行

转载 作者:IT王子 更新时间:2023-10-29 04:38:46 25 4
gpt4 key购买 nike

在为 Entity Framework 使用 T4 类时,有几个开发人员生成的类每生成一行就额外换一行。我想知道这是否是某种需要更改的设置,以便他们的 T4 生成的文件看起来像其他开发人员生成的文件。作为我正在谈论的示例:(删除了特定名称,但您应该能够看到从同一 *.tt 文件生成的新行数的差异。)

(更新问题也出现在其他 T4 模板中,而不仅仅是 EF。两台 PC 都使用 TextTemplatingFileGenerator 作为 T4 自定义工具。)

我电脑的 T4 输出:

    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);
}

他们 PC 的 T4 输出:

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);
}

编辑:

(文件中大致相同的文本。)我的文件: My file

他们的文件: Their file

最佳答案

什么@ralf.w。正在解决这个问题。问题计算机上 .tt 文件中的行尾是 LF,这会导致在运行转换工具时生成额外的行尾。正确的行尾应该是 CR LF。一旦我们更改了 .tt 文件中的行尾,输出文件就会正确生成。我还将 Git 中的行结束设置更改为按原样 checkout ,按原样提交。 This question有一些关于行尾设置的含义以及可以在哪里更改的信息。

使用Notepad++将问题.tt文件转换为CR LF(我们没有那么多。)转到编辑EOL 转换Windows (CR LF)

关于c# - T4 模板在某些 PC 上生成额外的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39474911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com