gpt4 book ai didi

c# - NuGet - 安装后 T4 文件属性不同

转载 作者:太空狗 更新时间:2023-10-30 00:57:07 24 4
gpt4 key购买 nike

我正在构建一个 NuGet 包,它将一些 T4 模板传送到 CodeTemplates 目录中。当我安装 NuGet 包时,T4 模板都将自定义工具属性设置为“TextTemplatingFileGenerator”。这是不对的。

我知道我可以通过更改我的注册表来禁用它,这样就不会以这种方式添加新的 T4 模板,但由于这是一个 NuGet 包,所以这不是一个选项。

我已经研究过 PowerShell,但我无法理解为实现我的目标应该做些什么。

我查看了 .csproj 文件 xml 并发现了这个:

<None Include="CodeTemplates\AddController\Controller.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>Controller.cs</LastGenOutput>
</None>

如果我从此节点中删除“TextTemplatingFileGenerator”,那么该文件将按我的意愿工作。

我应该从这里去哪里?

最佳答案

我不确定有什么好的方法可以做到这一点。在博客文章中,David Ebbo wrote :

One last thing I’ll mention about this model is that the .tt file is normally not part of your project. Instead, it lives somewhere else, and only its output becomes part of your project. Well, technically, the .tt file can be in your project for easy editing, but you then have to remove the ‘TextTemplatingFileGenerator’ custom tool, because you really don’t want it to execute on its own (it would surely fail with the custom host).

这听起来像是将 .tt 文件添加到项目时的 Visual Studio 行为。

也就是说,Scott Hanselman's AddMvc3ToWebForms对 csproj 文件中的 GUID 进行一些更改以添加 MVC 功能(添加 Controller /添加 View 等),因此您可以执行类似于他的代码的操作并删除文件的 Generator 部分在你的包中并重新加载项目?

关于c# - NuGet - 安装后 T4 文件属性不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5997199/

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