我在我的大多数MVC项目中使用了一组T4模板,这些模板创建了一组管理人员(比如存储库)、ViewModels和扩展--实用扩展方法,比如ToModel()、ToViewModel()和ToSelectList()。到目前一切尚好。现在为我编写了大量基本的“管道”代码。
我真正想要的是能够从外部文件中配置在这些模板中使用的变量,然后让模板在执行时使用该文件。
我知道我可以在另一个文件中运行另一个T4模板,但是我找不到一种方法将配置添加到一个单独的文件中。
目前,我在数据库中包含了一个“实体”表,并将其用于配置。它可以工作,但是在数据库中使用它会让人觉得很脏。
发布于 2016-03-11 13:57:49
T4只是C#/VB.Net代码,你可以使用任何你想要的库。如果您想要一个外部配置文件,可以在项目中使用json.net和一个简单的json文件。在模板开始时,使用框架中的io文件读取json文件内容,将其传递给json.net,然后提取所需的参数。使用json.net最常见的方法是序列化和反序列化类,但它还允许您访问较低的json字典类对象,您可以使用linq从json获取所需的任何数据。
但请记住,解决问题的方法总是不止一种,这是我尝试解决了一段时间的问题。我喜欢的解决方案是我创建的一个名为T4真棒的扩展。我的扩展采用了一种完全不同的方法来使用T4作为Visual中的脚手架。我在IDE周围添加了多个工具窗口和上下文菜单,以便更快更容易地管理和使用T4模板。我有一个动态UI,允许您定义简单的参数并将它们传递给模板,还可以让您更好地控制最终输出文件的位置。你可以随便看看。和完整的免责声明,我为这个扩展收费,但有一个免费的社区版本,应该能够做你想做的。
https://stackoverflow.com/questions/35918148
复制相似问题