0
我在VB.NET翻譯TT文件到C#
<#@ template debug="false" hostspecific="true" language="VB" #>
<#@ assembly name="System" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="System.Xml.Linq" #>
<#@ output extension=".vb" #>
<#@ import namespace="System" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Xml.Linq" #>
<#
Dim inputFile= Path.ChangeExtension(Host.TemplateFile, "resx")
Dim xml As XElement = XElement.Load(Host.ResolvePath(inputFile))
Dim dataElements = xml.Elements().Where(Function(x) x.Name = "data")
Dim resourceTypeName = Path.GetFileNameWithoutExtension(inputFile)
#>
' This file is autogenerated
Public Class <#= resourceTypeName #>Constants
<# For Each d as XElement in dataElements #>
Public Const <#= [email protected] #> As String = "<#= [email protected] #>"
<# Next #>
End Class
下面的代碼我做了一個改寫爲C#。但我忘記了一些我認爲的東西。 因爲我得到一個錯誤(ErrorGeneratingOutput)
<#@ template language="C#" #>
<#@ assembly name="System" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="System.Xml.Linq" #>
<#@ output extension=".cs" #>
<#@ import namespace="System" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Xml.Linq" #>
<#
dynamic inputFile = Path.ChangeExtension(Host.TemplateFile, "resx");
XElement xml = XElement.Load(Host.ResolvePath(inputFile));
dynamic dataElements = xml.Elements().Where(x => x.Name == "data");
dynamic resourceTypeName = Path.GetFileNameWithoutExtension(inputFile);
#>
'This file is autogenerated
public class <# resourceTypeName #>Contstants
{
foreach (XElement d in dataElements) {
public Const String <#= [email protected] #> = "<#= [email protected] #>";
}
}
有人誰可以幫我嗎?
更新
我得到第21行一定的誤差,這是該行
public class <# resourceTypeName #>Contstants
他給的錯誤編譯轉換:;預計