Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Visual Studio:您使用什么方法来';模板&x27;类似项目的管道工程?_Asp.net Mvc_Visual Studio_Code Reuse - Fatal编程技术网

Asp.net mvc Visual Studio:您使用什么方法来';模板&x27;类似项目的管道工程?

Asp.net mvc Visual Studio:您使用什么方法来';模板&x27;类似项目的管道工程?,asp.net-mvc,visual-studio,code-reuse,Asp.net Mvc,Visual Studio,Code Reuse,在构建ASP.NET项目时,需要完成一定数量的样板文件或管道,这在各个项目中通常是相同的。MVC和ALT.NET方法尤其如此。[我想到的东西有:IoC、ORM、解决方案结构(项目)、会话管理、用户管理、I18n等] 我想知道您认为哪种方法最适合跨项目“重用”管道? 是否有一个“主解决方案”,可以通过某种方式进行复制和重命名?(我目前正在使用一个“主解决方案”,但它相当混乱。我想知道人们是如何做到“更好”的) 主要依赖于共享库项目?(我发现这适用于某些事情,但对于需要定制的事情来说限制太大了)

在构建ASP.NET项目时,需要完成一定数量的样板文件或管道,这在各个项目中通常是相同的。MVC和ALT.NET方法尤其如此。[我想到的东西有:IoC、ORM、解决方案结构(项目)、会话管理、用户管理、I18n等]

我想知道您认为哪种方法最适合跨项目“重用”管道?

  • 是否有一个“主解决方案”,可以通过某种方式进行复制和重命名?(我目前正在使用一个“主解决方案”,但它相当混乱。我想知道人们是如何做到“更好”的)
  • 主要依赖于共享库项目?(我发现这适用于某些事情,但对于需要定制的事情来说限制太大了)
  • 代码生成工具,如T4?(类似于SharpArchitecture使用的方法-我自己没有尝试过)
  • 还有别的吗?

我使用新建项目向导创建一个新项目,以便分配唯一的项目GUID。然后,如果有必要的话,我会使用“添加现有项”来复制类似项目中的项

我有时使用文件差异工具将引用从一个项目复制到另一个项目,否则我只是手工添加引用。文件差异工具也可用于包含类似的源文件,但底层文件无论如何都必须复制,因此我更喜欢“添加现有项”

我已经使用T4生成了解决方案和项目文件,但这显然像是一个边缘案例,而不是通常需要的东西。在这种情况下,我可能会将T4封装在类似PowerShell的脚本中,以创建和填充目录结构的其余部分

一般来说,我非常积极地使用“共享库”,但这并不是因为这个场景

总的来说,我不太喜欢在项目之间重复使用管道。可能更多的情况是,我在一个“原型”项目中进行黑客攻击,然后放弃它,然后按照上述方法从头开始重建项目,并且只带来“非黑客”代码。

我肯定(大部分!)会与3的修改版本结合使用。我使用数据库对我的域进行建模,然后使用T4模板生成模型以及相关的控制器和视图。它需要花费大约50-60%的精力,并保持一致性

然后,我处理类的覆盖(部分)以及过滤器和扩展方法,以“生成应用程序”。现在我已经熟悉了环境和我正在做的事情,我可以在很短的时间内拥有一个具有良好管道的基本模型。更重要的是,因为我创建了一组分部类文件,所以我可以重新生成我想要的所有文件,而不会丢失任何“自定义”代码


不管怎样,它对我很有用:)

Visual Studio支持

我正在创建一个MVC2应用程序模板。它将包含我认为应该在MVC项目中的所有基本项。这些包括BDD规范、ORM(NHibernate,可能还有Lightspeed)、T4模板、自定义提供程序、ELMAH支持、CSS/Javascript迷你版等等。

你可以用胡子、t恤、敏捷的风格来做,创建一个漂亮的模板并将其放在sourcecontrol中。因此,当您需要一个新项目时,您只需签出模板?

对于速度极快的MVC站点设置,我使用修改过的T4模板(使用创建)和来自的大量帮助来生成页面(对于您典型的添加/编辑/索引页面),并结合一个名为(如果LINQ to SQL是您首选的数据访问方法)


使用修改后的T4模板和MVCCrud,您可以创建功能齐全的实体(创建/编辑/列出/删除)错误处理和直观的错误信息,每次只需4分钟。

谢谢,我会关注你的帖子-祝你好运!听起来不错,但是项目名称、名称空间等呢?嗯……我得到了:D全局重命名?是的,我想,但我看起来太乱了!我觉得一定有一种“正确”的方式来处理这个问题,我不知道。可以吗有人评论过这样的全局重命名吗?我应该提到的是,你的站点在MVCCrud新的jqGrid支持下看起来会很神奇(而且功能强大):)奖金…MVCCrud看起来很有趣-但它真的只是Linq-2-SQL吗?这对我来说将是一个阻碍。@Sosh不,它不仅仅是Linq-2-SQL,但目前只有一个Linq-2-SQL存储库,您可以创建自己的存储库来实现IMVCcrudepository,也可以在控制器中手动映射您的委托(除了Linq-2-SQL之外,我从未尝试过任何东西,但它也被设计用于其他东西)