问题标签 [t4-toolbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3427 浏览

c# - T4 工具箱问题

我下载并安装了最新版本的T4 Toolbox for VIsual Studio 2010,试图创建 LINQ 业务对象,但我遇到了一些麻烦。首先,我收到错误消息说它在我的项目目录中找不到 T4Toolbox.tt 和 T4Toolbox\LinqtoSql.tt,但这不是它们的安装位置。我是否要在模板中提供它们的绝对路径?

为了让它工作,我删除了通过说明添加的文件,然后再次添加它们。这次错误更改为“文件不存在:“\XML\SCHEMAS\DBMLSCHEMA.XSD”。我使用服务器资源管理器填充了 dbml 文件。

这两个错误都引用了同一个文件,即我在 Visual Studio 的代码生成部分中从 Linq to SQL 模型模板创建的“ServerBiz.tt”文件。他们还生成了警告“不再支持 C# 2.0 和 C# 3.5 编译器。模板将始终使用版本 4 编译器而不是指定的 'v3.5' 进行编译。”虽然在.tt 文件到“C#”清除了它(并且对我收到的错误没有影响)。我在编辑器中也没有颜色突出显示,尽管有些东西告诉我我只需要安装一个工具或其他东西就可以让它工作。但我想我会提到这些事情以防万一。

更新:我弄错了,搜索确实在 C:\Program Files\T4 Toolbox 中找到了 T4Toolbox.tt。我已经更新了帖子以反映这一点。

0 投票
2 回答
263 浏览

linq-to-sql - 如何修改预建模板?

我正在使用 T4 工具箱的 Linq to SQL 模型来生成代码,并且我想在它生成的代码中添加一些序列化属性。我不确定如何修改生成器来做到这一点。我会修改与工具箱一起安装的实际 .tt 文件吗?或者我可以在为我创建的 .tt 文件中添加一些内容吗?还是我必须做其他事情?

如果有的话,最好的方法是什么?

0 投票
1 回答
1840 浏览

t4 - T4toolbox中T4 Generator的用途是什么

我正在使用 T4toolbox,我很困惑生成器的用途。我可以运行以下

或者我可以像下面这样直接运行 t4 脚本。

但是我也可以使用没有生成器的 t4 脚本来做同样的事情。所以我的意思是可以用两种方法“脚本-->生成器-->模板”和“脚本-->模板”做同样的事情,我错过了什么吗?

0 投票
3 回答
5931 浏览

.net - T4 Toolbox - 混合类功能和语句块

我是一个 T4 新手,试图使用T4 Toolbox根据这个答案生成 F# 代码,但似乎类功能块不能与语句块混合。这是我的代码:

我得到这个错误:

声明不能出现在模板中的第一类特征之后。在第一类特征块之后只允许样板、表达式和其他类特征。

那么......我怎样才能重写模板来实现这一点?

0 投票
4 回答
6442 浏览

.net - T4 Toolbox - 当前程序集中的引用类

我正在编写一个 T4 脚本,它反映某些类并提供基于它们的代码生成。问题是我的脚本出错了,说我当前项目中的类无法访问。

脚本本身与我试图引用的类位于同一个程序集中。我已经尝试引用命名空间、文件并添加对当前程序集(项目本身)的引用 - 所有这些都无济于事。

我错过了什么?

0 投票
1 回答
245 浏览

c# - T4 工具箱 Linq2Sql

我正在尝试使用 t4toolbox 为项目生成 linq2sql 类。已经有很多针对默认 dbml 生成代码编写的代码。

在 LinqToSqlEntityClassTemplate.tt 文件中它有

有没有办法让它以默认方式(Visual Studio 方式)而不是 camelCasing 并且没有下划线生成文件?

由于字段名称不同,t4toolbox 生成的代码会导致 400+ 错误。

0 投票
2 回答
1383 浏览

visual-studio-2010 - 从 TFS 生成文件的 VS2010 T4 自动签出失败

我试图在我的项目中使用这样简单的方案:

Item.cs -> 这包含具有简单实体属性的 c# 部分类。它还设置了属性“自定义工具:T4ScriptFileGenerator”,因此它将“分组”文件Item.tt 附加到它。它在途中生成Item.generated.cs,分组到Item.tt。因此,它会在解决方案资源管理器中生成一个分组树:

您可以在下面看到它在 .csproj 文件中的外观。

整个项目连接到 TFS 2010 工作区。

问题是:

当我编辑Item.cs时,t4 引擎会重新创建Item.generated.cs文件,但不会从 tfs 中检出它。它仅自动检出前两个级别的“分组”文件 - Item.cs及其依赖的Item.tt。Item.generated.cs更新,但被简单覆盖,无需结帐。

如果我编辑 Item.tt 文件或只是在其上按“运行自定义工具” - 再次检出两个文件:Item.tt及其依赖的Item.generated.cs 这很奇怪,因为迫使我们手动“运行自定义工具”编辑实体类文件后的每个 *.tt 文件,以确保 TFS 中没有遗漏任何内容。

问:有什么方法可以强制它在编辑主 Item.cs 时检查整个DependentUpon文件树?

这是它在 .csproj 文件源中的外观:

0 投票
1 回答
3527 浏览

.net - 使用 T4Toolbox 时运行 TextTransform.exe 时出现问题

我正在尝试运行TextTransform.exe以使用 T4 模板文件生成代码。模板文件依赖于T4Toolbox(具体来说,它包含实现 T4Toolbox.Template 类的类)。

因此,它包含文件t4toolbox.tt,其中包含以下指令:

在执行期间,两个引用的处理器都出现以下错误:

我正在使用以下参数运行 exe:

我尝试包含具有多个 -dp 参数和逗号分隔列表的附加指令处理器(我可以看到DteProcessorTransformationContextProcessor都在 中实现T4Toolbox,所以大概语法类似于XsdProcessor? 的规范)

关于如何摆脱这些错误的任何想法?模板生成在 Visual Studio 中完美运行。

0 投票
1 回答
2359 浏览

.net - T4 将输出附加到现有文件

是否可以将T4​​ 模板输出与现有文件合并?

例如,如果 T4 模板生成本地化资源 XML 文件,是否可以将它们合并到某个现有资源文件中?

0 投票
2 回答
2977 浏览

t4 - T4 输出文件名

如何在模板中使用生成的文件名?我想要这样的事情:

我如何在 T4 或 T4Toolbox 中做到这一点?