标签: t4

获取Visual Studio以在每个构建上运行T4模板

如何获得T4模板以在每次构建时生成其输出?就像现在一样,它只在我对模板进行更改时才重新生成它.

我发现了类似的其他问题:

Visual Studio中的T4转换和构建顺序(未答复)

如何在Visual Studio中构建t4文件?(答案不够详细[虽然仍然很复杂]甚至没有完全意义)

必须有一个更简单的方法来做到这一点!

msbuild tfs t4 visual-studio

159
推荐指数
12
解决办法
6万
查看次数

如何在T4模板中使用Linq?

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

linq t4

67
推荐指数
1
解决办法
8593
查看次数

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

我正在使用带有Entity Framework Power Tools Beta 2的Visual Studio的Entity Framework 5来反向设计中等大小的数据库(~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),
    CONSTRAINT FK_Projects_TechnicalContact FOREIGN KEY (TechnicalContactID)
        REFERENCES Contacts (ContactID),
    CONSTRAINT FK_Projects_SalesContact FOREIGN KEY (SalesContactID)
        REFERENCES Contacts (ContactID),
    ...
}
Run Code Online (Sandbox Code Playgroud)

这将生成如下类:

public class …
Run Code Online (Sandbox Code Playgroud)

t4 entity-framework ef-code-first entity-framework-5 ef-power-tools

53
推荐指数
2
解决办法
1万
查看次数

T4模板中的评论

这看起来像是一个基本问题,但我无法找到答案的MSDN文章或StackOverflow问题:是否可以在T4模板中进行行注释或阻止注释?我不打算生成带注释的代码(这很容易和直接),而是注释掉我的T4标记块.那可能吗?

t4 comments

49
推荐指数
2
解决办法
1万
查看次数

使用T4获取项目或相对目录

如何从t4模板中获取对visual studio项目或解决方案目录或t4模板目录的引用?

我有一个模板将一些文件连接在一起,这些文件位于相对于模板的位置.我需要通过相对手段获得对绝对位置的引用.硬编码绝对路径是不可接受的,因为visual studio项目并不总是在同一位置,这会破坏代码生成.从环境中读取当前工作目录也不起作用,因为它返回T4引擎所在的位置而不是模板.我刚刚进入t4,所以任何帮助都会受到赞赏.

file-io t4 code-generation visual-studio-2008 visual-studio

47
推荐指数
2
解决办法
1万
查看次数

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

为什么我的T4模板有时会在输出文件中附加一个数字,有时不会?例如,在一种情况下,我可能有一个名为的模板文件Foo.tt,我将得到一个输出文件Foo.cs.在其他情况下,我将获得一个输出文件Foo1.cs.在每种情况下,都没有其他 Foo.cs文件可能导致它附加一个数字.换句话说,它绝对不是任何明显的文件名冲突的结果.

我是一个深度肛门保持开发者,所以我很想知道如何摆脱那个无用的数字后缀.

t4 visual-studio

47
推荐指数
2
解决办法
3724
查看次数

如何在T4模板中获得智能感知?

在尝试这些教程时(T4教程:创建可重用的代码生成模板)我注意到虽然我使用普通的c#但我没有得到任何智能感知,可能是因为文件扩展名(.tt)

反正不是说Visual Studio将那些.tt文件视为.cs文件,从而获得正确的intellisense帮助吗?

t4 intellisense visual-studio-2008 visual-studio

46
推荐指数
5
解决办法
2万
查看次数

T4模板在解决方案中添加现有项目的组件

嗨,我需要在我的T4模板文件的解决方案中添加现有项目的程序集.问题是我的T4模板位于名为Project.WebApi的项目中,我在T4模板中需要的类位于名为Project.Common.WebApi的项目中.

我试过像这样导入命名空间:

<#@ import namespace="Project.Common.WebApi.T4TemplateAttribute" #>
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

找不到类型或命名空间名称"Project"(您是否缺少using指令或程序集引用?)

我试过像这样添加程序集:

<#@ assembly name="Project.Common.WebApi" #>
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

编译转换:找不到元数据文件'Project.Common.WebApi'

我的项目包含T4Template(Project.WebApi),它引用了Project.Common.WebApi但是从我读到的内容来看,T4Template不使用项目中的引用.

我该如何解决这个问题?

c# t4

46
推荐指数
3
解决办法
2万
查看次数

有没有办法在基本的T4模板中有功能?

通过基本的 T4模板,我的意思是不使用T4 Toolkit或任何加载项.

我的T4有点复杂,但我现在想保持自足.有没有办法在T4模板中有功能而不引用外部组件?

.net t4 code-generation

37
推荐指数
1
解决办法
1万
查看次数

语法突出显示.tt文件?

有没有办法告诉Visual Studio 2010为.tt文件启用语法高亮?我有一个指令来设置扩展名:

<#@ output extension=".ascx" #>
Run Code Online (Sandbox Code Playgroud)

所以我希望Visual Studio将文件视为ascx文件,以达到语法高亮显示的目的.

.net t4 visual-studio-2010 visual-studio

34
推荐指数
4
解决办法
2万
查看次数