问题标签 [tangible-t4-editor]

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 投票
3 回答
2256 浏览

c# - t4“VisualStudioHelper”未找到

我正在尝试从 VS2012 项目生成代码进行一些实验,但我无法使这段 t4 代码工作

因为找不到 VisualStudioHelper。

为了使 VisualStudioHelper 可用,我应该在我的 t4 中安装/包含什么?

0 投票
1 回答
850 浏览

c# - 使用有形的 VisualStudioHelper 迭代类

我正在尝试遍历所有继承特定基类的类。我发现大多数链接都参考了有形的 T4 编辑器。像这样的答案,几乎可以满足我的要求

使用-a-%20specific-attribute-using-t4-envdte 获取所有装饰方法

问题是我找不到他正在使用的方法GetAllCodeElementsOfType

我正在使用这个模板 在此处输入图像描述

我是否使用了正确的模板?

0 投票
3 回答
13305 浏览

c# - 如何使用有形编辑器从单个 T4 模板创建多个输出文件?

我尝试按照本教程进行操作:http: //t4-editor.tangible-engineering.com/blog/how-to-generate-multiple-output-files-from-a-single-t4-template.html

使用视觉工作室 2015 (.Net 4.5)

有错误的示例项目:http ://www.filedropper.com/t4fail


我使用以下来源创建了 Template1.tt:

TemplateFileManagerV2.1.ttinclude从模板库添加到我的项目中。

然后我得到一个错误:

“Microsoft.VisualStudio.TextTemplating.IDebugTextTemplatingEngine”在未引用的程序集中定义。您必须添加对程序集“Microsoft.VisualStudio.TextTemplating.Interfaces.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用。

所以我添加了对

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.TextTemplating.11.0\v4.0_11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.TextTemplating.11.0.dll

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.TextTemplating.Interfaces.11.0\v4.0_11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.TextTemplating.Interfaces.11.0.dll

到我的项目,但没有任何改变。


错误在下面的方法里面.ttinclude

我把它换成了

检查问题是否确实在 dll 中并得到:

'Microsoft.VisualStudio.TextTemplatingA30AC8B57EFC4307E43667FCD72F5E4857F498C5224AE0D43FFC74B3A98D4FA090794EF196648D62B1BC664AFBA5EDE831067D7D1768A759EBBE83426975F7AA.GeneratedTextTransformation' does not contain a definition for 'Host' and no extension method 'Host' accepting a first argument of type 'Microsoft.VisualStudio.TextTemplatingA30AC8B57EFC4307E43667FCD72F5E4857F498C5224AE0D43FFC74B3A98D4FA090794EF196648D62B1BC664AFBA5EDE831067D7D1768A759EBBE83426975F7AA.GeneratedTextTransformation' could be found (are you missing a using directive还是汇编参考?)

看来,并非如此。

0 投票
0 回答
148 浏览

t4 - 部分类的方法

我正在使用T4文档中的具体示例,并按如下方式提取类:

和方法:

这是我初始化项目和codeClass的方式:

除了我没有从class. 该类是一个partial class,我只从第一个*.cs文件中获取方法。

任何想法或解决方法?

0 投票
1 回答
340 浏览

t4 - 如何使用 envDTE 命名空间获取 T4 中基类的属性?

我创建了这个问题,解释了我作为参考所采取的步骤,因为我的搜索花了很长时间,不知道在哪里以及如何找到这个解决方案。

我正在我的业务逻辑项目中创建一个 T4 模板,用于基于我的 T4 模板所在位置的现有类和其他项目(相同的解决方案)创建一些类。我已经从有形的模板库中加载了 VisualStudioHelper 包含。这对于从我的 Entity-Project 获取实体类有很大帮助。

从那里我得到了我的课:

现在我有我的类,我可以在其中查询我的属性:

我发现(显然)基类的属性没有注册为目标 CodeClass 元素的属性。

有人可以帮我查询 T4 模板的基类属性吗?

如前所述,T4 位于我的业务逻辑层 (BLL) 中,目标实体类位于一个常见的实体项目中,因为我使用了 EF-CodeFirst,其中我的 BLL 中的实体与 DAL 中的实体完全相同。基类来自我自己编写的公共库项目 (Nuget),其中包含我在使用 EF-CodeFirst 时使用的每个实体的属性。

软件分层

希望可以有人帮帮我。

亲切的问候, Luuk Krijnen

0 投票
0 回答
241 浏览

visual-studio-2017 - 有形 TemplateFileManager 错误

我试图使用 TemplateFileManager TT 包含文件(引用自本文,并且在 Tangible 的模板库中可用),以便我可以从 1 个 T4 模板输出多个文件,但我在默认代码中不断收到错误消息。出于某种原因,此方法返回 null,我无法轻松调试它以了解原因。

有人知道为什么吗?我确实从他们的模板下载工具下载了最新版本(2.1)。我的用法非常简单;我试图写出 2 个 CSV 文件。我有这个声明:

在顶部我创建了 TemplateManager:

当我想分裂时,我有这个:

最后:

我可以通过调试知道问题出在 CleanupTemplatePlaceholders 例程上:

在此集合中是一个实例,其中某些内容为空......(对象引用错误)。

0 投票
0 回答
1664 浏览

c# - 使用 T4 模板在解决方案文件夹中创建多个文件

我正在尝试使用基于有形 T4 模板的 T4 模板在解决方案文件夹中的现有项目中创建多个文件。我按照文档中的步骤操作,但无法生成具有以下结构的多个文件。在这个过程中没有发生错误,所以我期待它会生成文件。我已经在此处包含了代码,请参见下文。

在此处输入图像描述

多个输出文件.tt

对于 TemplateFileManagerV2.1.ttinclude.tt 的完整代码,您可以从此链接TemplateFileManagerV2.1.ttinclude.tt获得。请注意,使用 时出现错误,.First()因为集合中还没有值,我将其更改为.FirstOrDefault().