T4模板生成的文件不包含在项目中

时间:2017-12-31 00:35:48

标签: c# asp.net-mvc t4

我使用T4模板(生成运行时)为我的项目(控制器,实体和视图)生成几个.cs文件,这些文件需要由我的控制器动作创建,该操作通过这些模板的具体数据。

这是我在行动中产生它们的方式:

 CustomEntity entity = new CustomEntity(entityName, propertyMap);
 String entityContent = entity.TransformText();
 System.IO.File.WriteAllText(Server.MapPath("~") + "\\Models\\" + entityName + ".cs", entityContent);

 CustomEntityController controller = new CustomEntityController(entityName);
 String controllerContent = controller.TransformText();
 System.IO.File.WriteAllText(Server.MapPath("~") + "\\Controllers\\" + entityName + "Controller.cs", controllerContent);

它们是正确生成的,但是它们并没有包含在我的项目中,所以无论如何我都无法在我的项目中使用它们。只需右键单击文件,然后按“&34;包含在项目中”#34;解决这个问题,但我需要在我的项目中自动访问它们。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用this answer中提到的递归通配符包含将动态生成的.cs文件包含到Visual Studio项目中。这可以通过手动编辑csproj文件来完成。

语法如下(在您的情况下检查正确的路径):

M2