Visual studio 将DSL与T4集成,并指示脚本错误
各位。我有一个高级T4问题,希望有人能帮我 我创建了一个类似SQL的DSL,脚本保存在我的C#projects中的“.satsql”文件中,就像这样Visual studio 将DSL与T4集成,并指示脚本错误,visual-studio,code-generation,t4,Visual Studio,Code Generation,T4,各位。我有一个高级T4问题,希望有人能帮我 我创建了一个类似SQL的DSL,脚本保存在我的C#projects中的“.satsql”文件中,就像这样 // contents of myqueries.satsql SELECT <column t1.Id> FROM <table mytable t1> myqueries.satsql (1,8) error: unknown column 'xid' on table 't3'. myqueries.satsql (
// contents of myqueries.satsql
SELECT <column t1.Id> FROM <table mytable t1>
myqueries.satsql (1,8) error: unknown column 'xid' on table 't3'.
myqueries.satsql (2,9) error: bad reference: pid.
当用户单击错误时,VS应该打开“myqueries.satsql”文件,并将光标指向适当的行和字符,就像它对C#errors所做的那样
T4已经提供了void TextTransform.Error(string)
方法,但这似乎没有给我机会像C#errors那样设置文件、行和字符
有人知道T4文件在另一个文件中报告错误的方法吗?而不是T4文件本身
非常感谢,
Steve Cooper。您可以使用TextTransformation.Errors集合报告包含文件和行号信息的错误。非常有效!我被抛出是因为错误受到保护,所以intellisense不建议您使用TextTransformation变量。我只需要(A)创建TextTransformation的一个抽象子类——在我的例子中,我将其称为SqlTextTransformation——和(B)告诉TT文件将其与以下行一起使用