Tag: t4

我怎样才能在T4模板中获得智能感知?

在试用这些教程时( T4教程:创build可重用的代码生成模板 ),我注意到尽pipe我使用的是纯C#,但没有得到任何intellisense,可能是由于文件扩展名(.tt) 是不是有没有说Visual Studio将这些.tt文件视为.cs文件,从而得到正确的智能感知帮助?

为什么我的T4模板附加一个数字的文件名?

为什么我的T4模板有时会在输出文件中附加一个数字,有时候不是? 例如,在一种情况下,我可能有一个名为Foo.tt的模板文件,我将得到一个Foo.cs的输出文件。 在其他情况下,我会得到一个Foo1.cs的输出文件。 在任何情况下,都没有其他 Foo.cs文件可能导致它附加一个数字。 换句话说,这绝对不是任何明显的文件名冲突的结果。 我是一个深刻的肛门保留的开发者,所以我一定会喜欢知道如何摆脱那个无用的数字后缀。

T4模板中的注释

这似乎是这样一个基本的问题,但我一直没能find一个MSDN文章或StackOverflow的问题,回答它:是否有可能在T4模板中的行注释或块注释? 我不想用注释生成代码(这很容易,直接),而是注释掉我的T4标记块。 那可能吗?

T4模板在解决scheme中添加现有项目的组装

您好我需要在我的T4模板文件的解决scheme中添加一个现有项目的程序集。 问题是我的T4模板是在一个名为Project.WebApi的项目中,我需要在我的T4模板中的类是在名为Project.Common.WebApi的项目中。 我尝试导入这样的命名空间: <#@ import namespace="Project.Common.WebApi.T4TemplateAttribute" #> 但是我得到这个错误: The type or namespace name 'Project' could not be found (are you missing a using directive or an assembly reference?) 我已经尝试添加像这样的程序集: <#@ assembly name="Project.Common.WebApi" #> 我得到这个错误: Compiling transformation: Metadata file 'Project.Common.WebApi' could not be found 我的包含T4Template(Project.WebApi)的项目有一个Project.Common.WebApi的引用,但从我读的T4Template不使用项目中的引用。 我该如何解决这个问题?

用T4获取项目或相关目录

如何从t4模板中获得对Visual Studio项目或解决scheme的目录或t4模板的目录的引用? 我有一个模板,将多个文件连接在一起,这些文件与模板相关。 我需要通过一个相对的方法来获得对绝对位置的引用。 硬编码的绝对path是不可接受的,因为Visual Studio项目不会总是在相同的位置,这将打破代码生成。 从环境中读取当前工作目录不起作用,因为它返回T4引擎所在的位置而不是模板。 我只是进入t4所以任何帮助,将不胜感激。

在逆向工程数据库时改进导航属性名称

我使用entity framework5与Visual Studio与entity framework电动工具testing版2来逆向工程中等大小的数据库(~100表)。 不幸的是, 导航属性没有有意义的名字 。 例如,如果有两个表: CREATE TABLE Contacts ( ContactID INT IDENTITY (1, 1) NOT NULL, … CONSTRAINT PK_Contacts PRIMARY KEY CLUSTERED (ContactID ASC) } CREATE TABLE Projects ( ProjectID INT IDENTITY (1, 1) NOT NULL, TechnicalContactID INT NOT NULL, SalesContactID INT NOT NULL, … CONSTRAINT PK_Projects PRIMARY KEY CLUSTERED (ProjectID ASC), […]

我如何在T4模板中使用Linq?

我使用T4为项目生成一些屏幕和中间层代码,并希望使用Linq来简化我的一些模板代码。 但是,当我尝试使用Linq时,模板会报告语法错误。

获取Visual Studio在每个版本上运行T4模板

我如何获得一个T4模板来生成每个构建的输出? 就像现在一样,当我对模板进行更改时,它只会重新生成它。 我发现了类似这样的其他问题: 在Visual Studio中T4转换和构建顺序 (未答复) 如何让t4文件在Visual Studio中生成? (答案不够详细[虽然还很复杂],甚至没有总体意义) 必须有一个更简单的方法来做到这一点!