【问题标题】:T4 alternative in .NET Core?.NET Core 中的 T4 替代方案?
【发布时间】:2016-09-04 04:35:53
【问题描述】:

T4 文本模板是文本块和可以生成文本文件的控制逻辑的混合体。

.Net Core 本身不支持 T4 模板。

谁能向我推荐 .NET Core 中的 T4 替代方案?
我们如何进行代码生成?

【问题讨论】:

  • 几天前我正在调查这个问题。你可以试试这个:bricelam.net/2015/03/12/t4-on-aspnet5.html
  • T4 需要什么?我已经将我的大部分 T4 转移到通过 LinqPad.fsx 文件直接从 Visual Studio 中运行的简单 .net 脚本。
  • 这怎么跑题了?这是我目前遇到的一个真实问题-我在 SO 上找到了答案页面,但你们将其关闭为题外话。虚幻。
  • 添加这里是因为主题已关闭。对于运行时文本模板,您可以将一个单独的 .NET Framework 项目添加到您的所有代码生成解决方案中,然后在您的 .NET Core 项目中添加指向生成的 .CS 文件的链接。
  • 请解释如何在主题上进行此操作,因为我想知道问题的答案...

标签: c# t4 .net-core


【解决方案1】:

您可以使用 Scripty。它看起来非常漂亮,并且适合 Roslyn 的新分析器。

http://daveaglick.com/posts/announcing-scripty

https://github.com/daveaglick/Scripty

由于他们正在删除 project.json 格式 (https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-to-project-json/),您应该能够使用 .xproj.csproj 文件中的 Scripty。

【讨论】:

  • Scripty 是否与 Visual Studio 代码 (.NET Core) 一起作为跨平台解决方案使用?
  • 没试过。文档说这是一个基于 Roslyn 的 juger 包,所以我说是的
  • Scripty 不适用于 .net 核心。此外,VS 2017 也给它带来了重大问题。
  • MSBuild 的 scripty 思想似乎是一个不可靠的解决方案,因此我不建议对其进行大量投资。
  • 我试图让 Scripty 在 dotnet (linux) 上工作,但没有成功。这就是为什么我花了一些时间编写了 python 脚本 (autogen),它与 ​​csproj 集成并在构建时从模板生成工件 (*.cs)。我正在使用它来生成代理\存根\DTO 用于消息传递。
猜你喜欢
  • 2017-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2020-10-07
  • 2019-06-29
  • 1970-01-01
  • 2017-02-03
相关资源
最近更新 更多