在构建ASP.NET项目时,需要完成一定数量的样板或管道,这些项目通常在项目中是相同的。 MVC和ALT.NET尤其如此。方法。 [我正在考虑以下事项:IoC,ORM,解决方案结构(项目),会话管理,用户管理,I18n等。]
我想知道您最适合在项目中“重复使用”这个管道的方法是什么?
答案 0 :(得分:5)
Visual Studio支持 Custom Templates。
答案 1 :(得分:3)
我绝对(大多数!)与T4 templates的修改版本一起使用SubSonic 3.我使用数据库建模我的域,然后使用T4模板生成模型以及相关的控制器和视图。它需要大约50-60%的努力并保持一致性。
然后我研究类的覆盖(部分)以及“制作应用程序”的过滤器和扩展方法。现在我已经熟悉了环境和我正在做的事情,我可以在很短的时间内建立一个基本的模型和良好的管道。更重要的是,因为我创建了一组部分类文件,所以我可以重新生成我想要的所有内容而不会丢失任何“自定义”编码。
无论如何它对我有用:)
答案 2 :(得分:2)
你可以做大胡子,T恤,敏捷的风格,并创建一个漂亮的模板,并把它放在sourcecontrol中。那么当你需要一个新项目时,你只需要签出模板吗?
答案 3 :(得分:2)
对于疯狂快速的MVC站点设置,我使用修改后的T4模板(使用T4 Editor创建)和来自Oleg Sych's blogs的大量帮助来生成页面(对于典型的添加/编辑/索引页面)使用名为MVCCrud的自动化create-update-delete的强大实现(如果LINQ-to-SQL是您首选的数据访问方法)
使用修改后的T4模板和MVCCrud,您可以创建功能完整的实体(创建/编辑/列表/删除),并在每个约4分钟内创建错误处理和直观的错误消息。
答案 4 :(得分:1)
我使用新项目向导创建一个新项目,以便分配唯一的项目GUID。然后,如果有意义的话,我会使用“添加现有项目”来复制类似项目中的项目。
我有时会使用文件差异工具将引用从一个项目复制到另一个项目,否则我只需手动添加引用。文件差异工具也可用于包含类似的源文件,但无论如何都必须复制底层文件,所以我更喜欢“添加现有项目”。
我已经使用T4生成解决方案和项目文件,但这看起来似乎是一个边缘情况,而不是通常需要的东西。在这种情况下,我可能会将T4包装在类似PowerShell的脚本中,以创建和填充目录结构的其余部分。
我总体上非常积极地使用“共享库”,但不是特别由于这种情况。
总的来说,我并没有发现自己在项目之间重复使用管道。可能更常见的是我在一个“原型”项目中劈开,然后放弃它,并按照上述方法从头开始重建项目,并且只带来“非hacky”代码。
答案 5 :(得分:1)
我正在http://erictopia.com创建一个MVC2应用程序模板。它将包含我认为应该在MVC项目中的所有基本项目。这些包括BDD规范,ORM(NHibernate和可能的Lightspeed),T4模板,自定义提供程序,ELMAH支持,CSS / Javascript minifier等。