问题标签 [t4]

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 回答
236 浏览

schema - T4 和架构信息帮助

我正在尝试使用 t4 和 C# 创建数据访问层。我希望能够提供一个可以访问任何数据库的 DAL。我遇到的问题是一些架构信息。我能够检索一些信息,如列名和表名,但我还想要其他信息,如主键字段的名称、主键值。这样做最有效的方法是什么?

0 投票
5 回答
2489 浏览

.net - T4 vs CodeDom vs 奥斯陆

在我正在处理的应用程序脚手架项目中,我试图决定是否使用OsloT4CodeDom来生成代码。我们的目标是将依赖关系保持在最低限度,并根据用户故事为领域驱动设计驱动代码生成。第一步是从用户故事创建测试,但我们希望领域专家能够在各种不同的媒体(例如自定义应用程序、Word 等)中编写他们的故事,并且仍然从用户故事生成测试故事。

到目前为止我所知道的:

  1. CodeDom 需要 .NET 但只能输出 .NET 类文件(例如 .cs、.vb)。难度级别相当高。
  2. T4 需要 CodeDom 和 VS Standard+。难度级别相当合理,尤其是使用T4 Toolbox时。
  3. 奥斯陆很新。我不知道依赖关系,但我想你必须至少在 .NET 3.5 上。我也不确定代码生成能力或添加新语法的复杂性。但是,领域专家可能很容易在 Intellipad 中编写用户故事。也不确定将 Word 中的故事转换为 MGrammar 的难易程度。

您对上述任何工具有什么想法、经验等。我们希望坚持使用 Microsoft 或开源工具。

0 投票
4 回答
5135 浏览

c++ - 如何在 VS C++ 项目中使用 T4 代码生成模板?

T4 模板文件可在 C# 项目下由 IDE 自动识别,但我不知道如何将它们集成到 C++ 项目中(除了使用 make 文件)。

有任何想法吗?

0 投票
1 回答
308 浏览

visual-studio - Subsonic 3 alpha 和 Visual Web Developer 2008:t4 模板的问题

我在 Windows 7 beta 上使用 VWD 2008 Express。当我将 Subsonic 3 模板添加到我的 MVC RC 项目时,Web Developer Express 不会基于它们生成类。连接字符串正确。你有什么想法?

0 投票
1 回答
1142 浏览

.net - XSLT 和 T4 代码生成方法有什么区别?

我刚刚进入重复编码任务的代码生成的想法,并且已经看到了这两种方法。我在 Microsoft .Net 中的 Apress 书籍代码生成中看到了 XSLT 方法,并阅读了与 MVC 框架中的新功能相关的 T4 方法。

每种方法更适合什么样的项目?快速浏览告诉我 T4 是一个更轻量级的系统,这是真的吗?

非常感谢...

0 投票
10 回答
6595 浏览

c# - NHibernate 的 T4 模板?- 不流利的NHibernate

想知道是否有人知道一组 T4 模板,用于生成 C# POCO 类以及从数据库中的一组表映射 NHibernate 的 XML 文件。我看到 David Hayden 创建了 T4 用于基于 DBML 模型生成 FluentNH 代码,但我还没有准备好使用 FluentNH,因为还没有正式发布(尽管我喜欢这个想法)。

任何人都知道使用普通 NHibernate 的任何 T4 模板吗?

0 投票
15 回答
7079 浏览

c# - 代码生成器或 T4 模板,它们真的很邪恶吗?

我听说人们说不应使用代码生成器和 T4 模板。这背后的逻辑是,如果您使用生成器生成代码,那么通过泛型和模板构建代码会有更好更有效的方法。

虽然我稍微同意上面的这个说法,但我还没有真正找到有效的方法来构建可以说例如实例化自己的模板。换句话说,我永远做不到:

此外,如果我想根据数据库值生成代码,我发现Microsoft.SqlServer.Management.SMO与 T4 模板结合使用非常适合生成大量代码,而无需复制/粘贴或使用 resharper。

我在泛型中也发现了许多问题,令我震惊的是,有很多开发人员不理解它们。当我为解决方案检查泛型时,有时它会变得复杂,因为 C# 声明你不能做一些在我看来似乎合乎逻辑的事情。

你怎么认为?您更喜欢构建生成器,还是更喜欢使用泛型?另外,泛型能走多远?我对泛型有相当多的了解,但是我总是遇到一些陷阱和陷阱,这导致我求助于 T4 模板。

处理需要大量灵活性的场景的更合适方法是什么?哦,作为这个问题的奖励,关于 C# 和泛型的好资源是什么?

0 投票
1 回答
2752 浏览

properties - 向 T4 模板添加属性 - 选择服务器、数据库、表

伙计们,

我想创建一些 T4 模板,用于从数据库生成类文件(每个表大约 7 个)以支持我们的内部 ORM(不要问 - 长篇故事和历史原因.....)

我真正想做的是在我的主 TT 模板上有一个属性,可以直观地选择要为其创建文件的服务器、数据库和表(类似于 CodeSmith 中的表选择器)。

由于这似乎不存在(或者确实存在?),我认为下一个最好的方法是使用三个字符串属性作为服务器、数据库、表名,并使用 SMO 连接到该表并获取我需要的列数据。

我尝试遵循 Oleg Sych 的示例,并提出:

但是如何在我的代码块中引用这些属性,这些属性连接到使用 SMO 指定的服务器来检索数据?

我尝试将 a<#= serverName #>放在 Server() 构造函数的括号内 - 但这不起作用:-( 好像我有点卡在这里......如果我无法评估,那么拥有属性有什么意义并使用他们的价值观!:-)

有接盘侠吗??

马克

0 投票
2 回答
1956 浏览

asp.net - 生成 Jquery CRUD ajax 操作的 Javascript 结果

最新的 Asp.Net MVC RC 允许返回 JavaScript ActionResult。
我想从控制器动态生成 Jquery 脚本代码,以执行对控制器的经典 $.ajax 调用,以在 ajax 中创建读取更新删除操作,而不是经典的获取/发布表单操作。我应该在设计时(就像现在使用 T4 模板)还是在运行时生成 javascript 代码?
我知道这会打破视图和控制器的清晰分离,但有更好的方法吗?

0 投票
6 回答
21150 浏览

.net - 找不到 Microsoft.VisualStudio.TextTemplating 程序集

我正在使用 T4(文本模板转换工具包)做一些工作,并试图达到可以创建自己的自定义文本模板主机的地步。但是,所有这些都依赖于Microsoft.VisualStudio.TextTemplating程序集,我在我的系统上找不到它!

我首先尝试在 Visual Studio 中添加对程序集的引用,但Microsoft.VisualStudio.TextTemplating的程序集未在 .NET 选项卡下列出。

然后,我查看了%WINDIR%/Assembly目录,找到了Microsoft.VisualStudio.TextTemplating的条目。但是,当我尝试浏览到此位置并在 Visual Studio 中添加程序集时,没有任何反应。

其他人有这个问题吗?根据 MSDN tuts,听起来这个程序集应该包含在 Visual Studio 中(我安装了 VS 2003、2005 和 2008)。