编辑.tt文件来改变代码生成没有什么能够“运行自定义工具”

时间:2014-02-13 19:07:55

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

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

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

我确实添加了这行代码:

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

这里似乎是正确的地方:

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


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

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

我对所使用的语言没有很高的理解力。因此,我错误地认为

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

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

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


也许这篇文章可以帮助有同样问题的人,只需要让他们去搜索其他地方。

玩得开心。