在Visual Studio 2013,我们推出了添加新的项目对话框。 此对话框取代了是曾在2012年这个的对话框作品,所有ASP.NET项目(MVC,Web窗体和Web API)。 这就是我们如何提供“一个ASP.NET”愿景的一个例子。 我们还发布了适用于Visual Studio 2012年同样的支持。

其中,我们曾与添加视图的对话框增强了自定义生成文件的能力。 要做到这一点的方法是相当简单的。 如果你想调整对话框的结果,你不得不相应T4文件(复制在T4更多信息 )到正确的位置在您的项目,对其进行修改以满足您的需求。 我们遵循同样的模式。 我们已经通过使用简化了使用流程。

在这篇文章中我将首先描述如何自定义新Scaffoldded项目对话框生成的内容,以及解释如何工作的。 为了简化,我们将使用使用端至端流动SideWaffle 。 我有关于你的情况下,希望避免在安装使用的一些步骤,在底部SideWaffle 。 试试下面的步骤开始。

如何自定义生成的输出

要为特定项目自定义生成的内容请按照下列步骤。

1. 下载并安装SideWaffle如果您还没有

2. 右键单击您的Web项目,并选择添加新项。 选择下图中所示的模板,然后单击确定。

a.

3. 自定义您的项目在CodeTemplates文件夹中的文件.t4

当你调用ASP.NET脚手架T4文件项模板将放弃所有你需要为你的项目名为CodeTemplates顶层文件夹中的文件.t4。 根据您的项目语言(C#/ VB)正确的文件添加到项目中。 此文件夹下的每个文件夹都代表一个单独的棚架,我们发货。 在下面的图片,你可以看到这些文件夹的名称。

可以通过该文件夹的名称的文件夹连接到棚架。 该名称是相当直接的,例如MvcControllerEmpty文件夹对应于MVC 5控制器-棚架。 在每个文件夹,你会发现,具体的施工人员将在脚手架过程中使用的文件。 由于大多数现有的脚手架生成1个文件,你会发现通常只有1 .t4目录中的文件。 对于架子工能产生超过1个文件,你会发现更多的文件。

让我们调整的空MVC控制器支架。 让我们来看看什么是下MvcControllerEmpty文件夹。 该文件夹中有一个单一的.t4文件,Controller.cs.t4( Controller.vb.t4如果VB)。 下面是该文件的当前内容。

<#@模板语言=“C#”HostSpecific =“真”#>

<#@输出扩展=“CS”#>

<#@参数类型=“System.String”NAME =“ControllerName”#>

<#@参数类型=“System.String”NAME =“ControllerRootName”#>

<#@参数类型=“System.String”NAME =“命名空间”#>

<#@参数类型=“System.String”NAME =“AREANAME”#>

使用系统;

使用System.Collections.Generic;

使用System.Linq的;

使用的System.Web;

使用System.Web.Mvc;

命名空间<#=#命名空间>

{

公共类<#=#ControllerName>:控制器

{

//

// GET:<#=(!String.IsNullOrEmpty(AREANAME))? (“/”+ AREANAME):的String.Empty#> / <#= ControllerRootName#> /

公众的ActionResult指数()

{

返回查看();

}

}

}

比方说,你愿意把你的using语句命名空间内,我们将修改这个文件有以下内容代替。

<#@模板语言=“C#”HostSpecific =“真”#>

<#@输出扩展=“CS”#>

<#@参数类型=“System.String”NAME =“ControllerName”#>

<#@参数类型=“System.String”NAME =“ControllerRootName”#>

<#@参数类型=“System.String”NAME =“命名空间”#>

<#@参数类型=“System.String”NAME =“AREANAME”#>

命名空间<#=#命名空间>

{

使用系统;

使用System.Collections.Generic;

使用System.Linq的;

使用的System.Web;

使用System.Web.Mvc;

公共类<#=#ControllerName>:控制器

{

//

// GET:<#=(!String.IsNullOrEmpty(AREANAME))? (“/”+ AREANAME):的String.Empty#> / <#= ControllerRootName#> /

公众的ActionResult指数()

{

返回查看();

}

}

}

现在,当我创建一个新的空MVC控制器生成的输出如下。

命名空间WebApplication2.Controllers

{

使用系统;

使用System.Collections.Generic;

使用System.Linq的;

使用的System.Web;

使用System.Web.Mvc;

公共类Default3Controller:控制器

{

//

// GET:/ Default3 /

公众的ActionResult指数()

{

返回查看();

}

}

}

这一切就是这么简单。 您可以检查这些文件,然后当你的团队成员获得最新的他们将有相同的行为。

如何获得SideWaffle

如果你想做到这一点无需安装SideWaffle,它还是很容易的。 您可以从本地计算机中的文件直接复制到您的项目。 你会发现所有你需要复制位于C文件夹\ Program Files文件(x86)的\微软的Visual Studio 12.0 \ Common7 \ IDE \扩展\ MICROSOFT \网络\mvc \脚手架\模板 。 您可以在文件夹中的内容复制到顶层文件夹命名为CodeTemplates到你的项目,如上图所示。 仅供参考,如果你这样做C#和VB文件将被添加到您的项目。 你可以简单地摆脱那些不符合您的项目使用的语言的文件。

编码生成器

与CodeGenerator结束脚手架是不可扩展中相同的方式,其他的模板。

自定义视图

您可以通过创建在MvcView文件夹的新.t4文件创建自己的视图模板。 例如在MvcView文件夹中我复制了Create.cs.t4文件,并重新命名它Sayed.cs.t4文件和定制的内容。 之后,调用时添加视图所产生的添加视图对话框包含我的自定义视图模板。 你可以看到这下面的图片。

此示例是非常基本的,但我敢肯定,你能想象更为复杂的调整您的特定需求。 请让我们知道你想在下面的评论这些功能是什么。

Visual Studio 2013中的新项目对话框的更多相关文章

  1. SharpDX初学者教程第1部分:在Visual Studio 2013中设置SharpDX项目

    原文 http://www.johanfalk.eu/blog/sharpdx-tutorial-part-1-setting-up-a-sharpdx-project-in-visual-studi ...

  2. 在Visual Studio 2013中编译libssh2项目

     一. 下载需要的外部包,并解压,下面给出的链接如果无法访问,就google搜索下载一下: •下载openssl •下载zlib 二.修改libssh2项目配置: 1.C/C++->Gene ...

  3. Visual Studio 2013 无法创建MVC项目,系统找不到指定的文件.(Exception from HRESULT:08x0070002)

    在Visual Studio 2013中创建新MVC项目,(PS:现在创建个MVC项目,差点都找不到在哪,汗!-) 确定后提示,系统找不到指定的文件.(Exception from HRESULT:0 ...

  4. 在 Visual Studio 2013 中创建 ASP.NET Web 项目(0):专题导航 [持续更新中]

    写在前面的话 随着 Visual Studio 2013 的正式推出,ASP.NET 和 Visual Studio Web 开发工具 也发布了各自的最新版本. 新版本在构建 One ASP.NET ...

  5. 在 Visual Studio 2013 中创建 ASP.NET Web 项目(1):概述 - 创建 Web 应用程序项目

    注:本文是“在 Visual Studio 2013 中创建 ASP.NET Web 项目”专题的一部分,详情参见 专题导航 . 预备知识 本专题适用于 Visual Studio 2013 及以上版 ...

  6. Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件出错的解决方案

    Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件,运行页面,会出现如下的错误: 错误原因 VisualStudio 2012(或2013) WebFo ...

  7. 在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移

    在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...

  8. 在Visual Studio 2013 中使用C++单元测试

    本文主要介绍在Visual Studio 2013中对代码进行单元测试的方法,包含了两方面的内容:对已有的Dll文件进行单元测试,以及对已有的源文件进行单元测试. 1. VS2013对DLL文件的单元 ...

  9. 转载:在Visual Studio 2013中管理中国特色的社会主义Windows Azure

    原文链接: http://www.pstips.net/get-azurechinacloud-settings.html 谷歌被豪迈地放弃了中国市场,微软仍旧在中国市场摸爬滚打,跪着挣钱.其中私人定 ...

随机推荐

  1. [转]LoadRunner脚本录制常见问题整理

    LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...

  2. Python 守护进程

    import os import sys from time import sleep try: pid = os.fork() if pid > 0: sys.exit(0) # Exit p ...

  3. KVC vs KVO(内容为转载记录,整合大家的总结为我所用)

    KVC即key-value coding的缩写, KVO即key-value observing的缩写 假如需要掌握Key-Value Observing机制,那么需要阅读本文应该有帮助.本文提供了K ...

  4. shell学习总结之自定义函数

    shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; ec ...

  5. poj 1811 Prim test

    基本上一个裸的Miller_Rabin大素数判定和一个裸的Pollard_rho素数分解算法,当模板用吧! #include<cstdio> #include<algorithm&g ...

  6. Spring3 +mybatis3 之 MapperScannerConfigurer

    之前一直使用"org.mybatis.spring.mapper.MapperFactoryBean"这个类在spring中配置mybatis的dao接口,后来发现如果dao太多话 ...

  7. linux登录后出现_bash-4.1#终端提示符异常

    如果使用root用户登录出现上述提示,则需要需要重建 /root .bash_profile文件: 1. vi /root .bash_profile 2. 输入如下内容 # .bashrc # Us ...

  8. 167. Two Sum II - Input array is sorted

    题目: Given an array of integers that is already sorted in ascending order, find two numbers such that ...

  9. C# zip压缩

    /**//* * Gary Zhang -- cbcye@live.com * www.cbcye.com * www.quicklearn.cn * cbcye.cnblogs.com */ usi ...

  10. 【HDOJ】4210 Su-domino-ku

    DLX.在模板的基础上增加一个FILL属性,略修改即可. /* 4210 */ #include <iostream> #include <string> #include & ...