gpt4 book ai didi

.net - t4 在 csproj 文件中生成没有 DependentUpon 属性的文件

转载 作者:行者123 更新时间:2023-12-01 02:45:38 25 4
gpt4 key购买 nike

我们正在使用 t4 模板来管理我们项目中的配置。而 web.config 文件是通过 web.tt 文件生成的。在 csproj 文件中生成后,我有以下内容:

<Content Include="Web.config">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Web.tt</DependentUpon>
</Content>

是否可以以某种方式配置 t4 模板以生成独立的 web.config 文件,而不是在 web.tt 下?

Web.config file depends upon web.tt

最佳答案

是的你可以。首先在 T4 包含文件中定义一个保存例程。

SaveOutput.tt :

<#@ template language=“C#” hostspecific=“true” #>
<#@ import namespace=“System.IO” #>
<#+
void SaveOutput(string fileName)
{
string templateDirectory = Path.GetDirectoryName(Host.TemplateFile);
string outputFilePath = Path.Combine(templateDirectory, fileName);
File.WriteAllText(outputFilePath, this.GenerationEnvironment.ToString());

this.GenerationEnvironment.Remove(0, this.GenerationEnvironment.Length);
}
#>

现在,每次使用文件名调用 SaveOutput 时,它都会将当前缓冲区写入该外部文件。例如。

网址 :
<#@ include file=“SaveOutput.tt” #>
<#
GenerateConfig();
SaveOutput(”..\..\Web.Config”);
#>

如果要生成多个文件:
<#@ include file=“SaveOutput.tt” #>
<#
GenerateFile1();
SaveOutput(”..\..\File1.txt”);

GenerateFile2();
SaveOutput(”..\..\File2.txt”);
#>

关于.net - t4 在 csproj 文件中生成没有 DependentUpon 属性的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6980215/

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