4

我正在使用 T4 模板生成我的实体的上下文。当 t4 模板文件运行时,它会将生成的文件添加到项目根目录中。我想要的是生成的文件放在一个子文件夹下。如果子文件夹不存在,则创建文件夹,然后将生成的文件放入其中。如果文件存在,则不会生成新文件。

我是 t4 模板的新手。我换了

fileManager.StartNewFile(entity.Name + ".cs");

fileManager.StartNewFile("SubFolder\" + entity.Name + ".cs");

当我运行它时,会在 SubFolder 中创建文件(使用 Windows 资源管理器打开文件夹),但项目不知道它。如果没有文件夹,则会发生奇怪的行为。我错过了什么?

4

1 回答 1

1

最好将 tt 文件和模型类放在同一个文件夹中。只需更改 inputFile 路径,例如 inputFile = @"..\Model1.edmx" (如果您的 edmx 文件位于根文件夹中)。

可能需要更改的另一件事是命名空间,默认情况下它是 Code.VsNamespaceSuggestion(),它会将子文件夹名称添加到命名空间。像“ClassLibrary1.SubFolder”。它可能会导致问题。您可以对命名空间进行硬编码,例如 namespaceName = "ClassLibrary1"。

于 2013-04-26T02:31:30.107 回答