在指定命名空间的同时,如何在每次构建时自动构建 T4 模板?

How can I build a T4 template automatically with each build while specifying a namespace?

我有一个生成 class 的 T4 模板,可以在运行时使用它来构建文档。在模板文件的属性中,自定义工具设置为"TextTemplatingFilePreprocessor",我还为自定义工具命名空间属性设置了自定义命名空间。

如果我右键单击模板并选择 "Run Custom Tool",或者如果我选择构建 -> 转换所有 T4 模板,代码将正确生成。但是,我一直在尝试使用 Microsoft.TextTemplating.targets 构建任务在构建时自动生成模板,如此处所述:https://docs.microsoft.com/en-us/visualstudio/modeling/design-time-code-generation-by-using-t4-text-templates#Regenerating。当我这样做时,文件会重新生成,但它会忽略自定义工具命名空间。

那么:如何在每次构建时自动构建 T4 模板,同时指定命名空间?

终于想通了:解决方法是将csproj文件中的<CustomToolNamespace>标签替换为<ClassNamespace>标签。