gpt4 book ai didi

c# - 使用 .Net Core 的 T4 参数指令

转载 作者:行者123 更新时间:2023-12-04 15:32:33 25 4
gpt4 key购买 nike

当我尝试将参数发送到运行时文本模板 t4(net core)时,我在使用 .net Core 的“CallContext.LogicalGetData”方法中遇到了问题

在 tt 文件下面:

<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ parameter name="firstName" type="System.String" #>
<#@ parameter name="lastName" type="System.String" #>

和 Cs 调用方法:
            var pt1 = new ParamTemplate1();
pt1.Session = new Dictionary<string, object>();
pt1.Session["firstName"] = "David";
pt1.Session["lastName"] = "Giard";
pt1.Initialize();
var outputText1 = pt1.TransformText();
Console.WriteLine(outputText1);
Hello <#=firstName #> <#=lastName #>!

问题是由于 .net 核心不支持“System.Runtime.Remoting”库

任何想法或解决方法?

谢谢。

最佳答案

抱歉回复晚了,但如果您仍想使用 t4 模板,您可以将参数指令替换为 t4 文档末尾的属性:

<#+
public string FirstName { get; set; }
public string LastName { get; set; }
#>
然后调用它:
var pt1 = new ParamTemplate1
{
FirstName = "David",
LastName = "Giard"
};
var outputText1 = pt1.TransformText();
Console.WriteLine(outputText1);

关于c# - 使用 .Net Core 的 T4 参数指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60890700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com