使用命名空间外部的T4模板位置

时间:2016-09-02 12:32:55

标签: c# template-engine t4

我尝试使用t4模板引擎,但它会自动在命名空间块中包含using指令。它找不到System命名空间,因为它在父命名空间内搜索我们自己的MyProject.System命名空间。

文件夹/命名空间结构

  • MyFolder文件
  • OtherFolder
  • 系统

模板文件

<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<div>Test</div>

CS档案

namespace MyProject.MyFolder.Templates
{
    using System;
    using System.Linq;
    using System.Text;
    using System.Collections.Generic;
}

错误

  

Linq中无法找到命名空间MyProject.System

问题

如何强制t4在命名空间块之外使用?

1 个答案:

答案 0 :(得分:0)

您可以像这样的非相对方式引用System.Linq;

using global::System.Linq;

如果这是一种有用的方法。