繁体   English   中英

T4代问题

T4 generation issues

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试学习C#,并且来自数据背景。 现在,我想基于数据库生成一些SQL代码。 我正在使用https://damieng.com/blog/2009/11/06/multiple-outputs-from-t4-made-easy-revisited中的示例。 当我从Github( https://github.com/DanielGasson/t4-examples )下载解决方案时,它可以工作。

但是我对此有一些问题。 我希望有人可以对我有所帮助,因为我已经尝试了很多事情,但我对这行不通感到沮丧....也许有人可以使我回到正轨,并得到一些提示:

我的问题:

问题1-添加SQL连接我想添加一些SQL以重新整理必须生成的某些数据,但是现在我有一个C#项目,当我尝试添加一些SQL连接代码时出现了问题:

SqlConnection conn = new SqlConnection(connectionString); 
string selectQueryTables = "select * from [config].[TargetTables]"; 
SqlDataAdapter commandTables = new SqlDataAdapter(selectQueryTables,conn); 

这导致此错误:找不到类型或名称空间名称'SqlConnection'(您是否缺少using指令或程序集引用?)T4CustomFileGeneration

我试图添加NuGet System.Data.SqlClient,但没有解决任何问题。

我究竟做错了什么?

编辑:@@ Zer0提示后,我有这个:

<#@ template debug="true" hostspecific="true" language="C#" #>
<#@ assembly name="EnvDTE"#>
<#@ assembly name="System.Core" #>
<#@ import namespace="System" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic"#>
<#@ import namespace="System.Linq"#>
<#@ import namespace="System.Text"#>
<#@ import namespace="Microsoft.VisualStudio.TextTemplating"#>
<#@ output extension="/" #>
<#@ template language="C#v3.5" hostspecific="True"#>
<#@ include file="Manager.ttinclude"#>
using System.Data.SqlClient;

<#
    var manager = new Manager(Host, GenerationEnvironment, true, "T4CustomFileGeneration")
    {
        OutputPath = Path.GetDirectoryName(Host.TemplateFile),
    };
#>

<#
    string connectionString = ""; 
    System.Data.SqlClient.SqlConnection conn = new SqlConnection(connectionString); 
....

所以这都是两个解决方案,但是错误仍然存​​在:

error

完整代码:

<#@ template debug="true" hostspecific="true" language="C#" #>
<#@ assembly name="EnvDTE"#>
<#@ assembly name="System.Core" #>
<#@ import namespace="System" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic"#>
<#@ import namespace="System.Linq"#>
<#@ import namespace="System.Text"#>
<#@ import namespace="Microsoft.VisualStudio.TextTemplating"#>
<#@ output extension="/" #>
<#@ template language="C#v3.5" hostspecific="True"#>
<#@ include file="Manager.ttinclude"#>
<#@ import namespace="System.Data.SqlClient"#>
<#@ import namespace="System.Data"#>

<#
    var manager = new Manager(Host, GenerationEnvironment, true, "T4CustomFileGeneration")
    {
        OutputPath = Path.GetDirectoryName(Host.TemplateFile),
    };
#>

<#
    string connectionString = ""; 
    System.Data.SqlClient.SqlConnection conn = new SqlConnection(connectionString); 
    string selectQueryTables = "select * from [config].[Tables]"; 
    SqlDataAdapter commandTables = new SqlDataAdapter(selectQueryTables,conn); 

    DataSet TablestoGenerate = new DataSet();
    commandTables.Fill(TablestoGenerate, "Tables");
    var manager = TemplateFileManager.Create(this);
#>

<# manager.StartBlock("FooStoredProc.sql", "Stored Procedures"); #>
CREATE PROC FOO ...
<# manager.EndBlock(); #>

<# manager.Process(); #>
问题暂未有回复.您可以查看右边的相关问题.
1 T4模板问题

我有以下代码,它给出了与花括号和东西有关的信息。 谁能发现问题? ...

2009-05-10 23:26:21 2 812   .net/ t4
2 T4代:VsNamespaceSuggestion()从何处提取?

有谁知道在.tt文件中,code.VsNamespaceSuggestion()从何处获取其名称空间? 我遇到一个问题,我必须更改解决方案的名称空间,并且我发誓我已经到处更改了它(文件夹名称,文件名,项目名称,项目属性,程序集信息等)。 但是,当.tt文件运行时,它总是将旧的名称空间放回 ...

4 通过T4代码生成自动INotifyPropertyChanged实现?

我正在设置我的新项目,并且想知道如何实现我的ViewModel类确实具有INotifyPropertyChanged支持,而不必亲自手动编码所有属性。 我查看了AOP框架,但我认为他们只会用另一个依赖项炸毁我的项目。 所以我考虑用T4生成属性实现。 设置是这样的:我有一个Vie ...

5 Rosyln与T4代码生成[关闭]

所以我在T4上投入了大量的知识。 我已经编写了一些不同复杂程度的代码生成器,并且通常喜欢代码生成代码的注意事项很难进行单元测试(但我在某种程度上甚至可以解决这个问题)。 现在,我已经听到越来越多关于Rosyln项目的消息。 我听说过它应该做的很多事情。 语法分析,用作脚本语言等,还有某种 ...

6 T4发电机问题

我刚刚从Beta 2切换到Visual Studio 2010 Ultimate Release Candidate, 而我一直使用的T4生成器不再起作用了。 当我运行它时,我收到一条错误消息: “无法解析文件的包含文本:路径'\\ L2ST4.ttinclude'必须是此计算机的本 ...

7 编码T4生成问题

我试图用T4生成一些带有一些特定字符的版本文件。 在这里,我希望生成一些包含版权符号的文本:© 问题:显然存在编码问题,因为输出文件不显示它(询问点) 我确保我的.tt和我的输出文件都使用相同的编码:ANSI。 我在T4的输出部分尝试了各种各样的东西,比如使用encoding ...

9 T4 模板 System.Runtime 问题

我有一个带有简单代码的 T4 模板(最终我想创建基于定义的枚举创建 SQL 初始脚本的模板): is a simple enum. 是一个简单的枚举。 当我尝试运行它时,它显示以下错误: 运行转换:System.IO.FileNotFoundException:无法加载文件或程序集“Sy ...

10 从T4更改EF 6代码生成策略

在过去,我已经成功创建了edmx文件。 这是使用EF5和Visual Studio 2012.我已经升级到Visual Studio 2013和EF6。 现有的EF 5代码仍然有效,但现在我遇到了问题。 我可以创建edmx文件和EntityDataSource,我可以配置数据源,它可以很好 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM