【问题标题】:Editing .tt file to change code generation does nothing hiting "run custom tool"编辑 .tt 文件以更改代码生成不会影响“运行自定义工具”
【发布时间】:2023-04-08 13:44:01
【问题描述】:

我更改了 .edmx 文件中包含的 .tt(模板)文件,以更改 edmx 图中对象的生成。

在我的具体情况下,我只想在我的模板中添加[Serializable],以便在我生成的每个对象中使用它。

我确实添加了这行代码:

<# Write("[Serializable]"); #>

这里似乎是正确的地方:

<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
<#
Write("[Serializable]");
#>
<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#>


对我来说,这似乎是正确的东西,在正确的地方。这里没有什么太花哨的。但是当我点击 .tt 文件上的“运行自定义工具”选项来重新生成代码时,它根本什么都不做。

如何让它生成我需要的代码?

提前致谢。

【问题讨论】:

    标签: c# wpf visual-studio code-generation t4


    【解决方案1】:

    好吧,在网上搜寻答案,自己找到答案并假设我没有在互联网上找到这些东西,我会把它放在这里而不是删除问题。请注意这真的很愚蠢。

    我对所用语言的理解不高。因此,我错误地假设了

    <#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#>
    

    是我的代码生成结束的正确位置。它不是。正确的地方其实是:

    <#=codeStringGenerator.EntityClassOpening(entity)#> : DataObject
    


    也许这篇文章会帮助遇到同样问题的人,只需要被告知在其他地方搜索。

    玩得开心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多