【发布时间】:2021-08-17 10:56:12
【问题描述】:
我迫切需要在 C# 中使用 T4 生成 HTML 输出。
我正在使用 Runtime-T4-Files 并选择“TextTemplatingFilePreprocessor”而不是“TextTemplatingFileGenerator”作为选项。
我的“MyTemplate.tt”-文件包含:
<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
foo
我的“Program.cs”-文件包含:
using System;
namespace T4MS
{
class Program
{
static void Main(string[] args)
{
string output = new MyTemplate().TransformText();
Console.WriteLine(output);
}
}
}
发生以下错误我错过了什么:
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand Fehler CS1069 Der Typname "CompilerErrorCollection" konnte nicht im Namespace "System.CodeDom.Compiler" gefunden werden。 Dieser Typ wurde 一个程序集“System.CodeDom,版本=4.0.3.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”weitergeleitet。 Sie sollten einen Verweis auf die Assembly hinzufügen。 T4MS C:\Users\figaro\source\repos\T4MS\T4MS\MyTemplate.cs 47 Aktiv
基本上这个错误告诉我添加一个程序集引用“System.CodeDom”,由我的自动生成的“MyTemplate.cs”-File 抛出。
所以我尝试在我的 tt 文件中添加带有 <#@ template language="C#" #> <#@ import namespace="System.CodeDom" #> 或 <#@ assembly name="System.CodeDom" #> 的“缺少”程序集。
【问题讨论】: