Visual Studio 2013中的新项目对话框
在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中的新项目对话框的更多相关文章
- SharpDX初学者教程第1部分:在Visual Studio 2013中设置SharpDX项目
原文 http://www.johanfalk.eu/blog/sharpdx-tutorial-part-1-setting-up-a-sharpdx-project-in-visual-studi ...
- 在Visual Studio 2013中编译libssh2项目
一. 下载需要的外部包,并解压,下面给出的链接如果无法访问,就google搜索下载一下: •下载openssl •下载zlib 二.修改libssh2项目配置: 1.C/C++->Gene ...
- Visual Studio 2013 无法创建MVC项目,系统找不到指定的文件.(Exception from HRESULT:08x0070002)
在Visual Studio 2013中创建新MVC项目,(PS:现在创建个MVC项目,差点都找不到在哪,汗!-) 确定后提示,系统找不到指定的文件.(Exception from HRESULT:0 ...
- 在 Visual Studio 2013 中创建 ASP.NET Web 项目(0):专题导航 [持续更新中]
写在前面的话 随着 Visual Studio 2013 的正式推出,ASP.NET 和 Visual Studio Web 开发工具 也发布了各自的最新版本. 新版本在构建 One ASP.NET ...
- 在 Visual Studio 2013 中创建 ASP.NET Web 项目(1):概述 - 创建 Web 应用程序项目
注:本文是“在 Visual Studio 2013 中创建 ASP.NET Web 项目”专题的一部分,详情参见 专题导航 . 预备知识 本专题适用于 Visual Studio 2013 及以上版 ...
- Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件出错的解决方案
Visual Studio 2013新建ASP.NET项目使用Empty模板,在页面中使用验证控件,运行页面,会出现如下的错误: 错误原因 VisualStudio 2012(或2013) WebFo ...
- 在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移
在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...
- 在Visual Studio 2013 中使用C++单元测试
本文主要介绍在Visual Studio 2013中对代码进行单元测试的方法,包含了两方面的内容:对已有的Dll文件进行单元测试,以及对已有的源文件进行单元测试. 1. VS2013对DLL文件的单元 ...
- 转载:在Visual Studio 2013中管理中国特色的社会主义Windows Azure
原文链接: http://www.pstips.net/get-azurechinacloud-settings.html 谷歌被豪迈地放弃了中国市场,微软仍旧在中国市场摸爬滚打,跪着挣钱.其中私人定 ...
随机推荐
- centos6.5 mysql配置整理
安装 // 安装mysql yum -y install mysql-server //设置开机启动 chkconfig mysqld on //启动MySql服务 service mysqld st ...
- Style 的优先级
Dependency Property(简称DP)是WPF的核心,Style就是基于Dependency Property的,关于DP的内幕,请参见深入WPF--依赖属性.Style中的Setter就 ...
- 初探—KMP模式匹配算法
KMP算法思想: 普通的字符串匹配算法S主串必须要回溯.但回溯就影响了效率. 改进的地方也就是这里,我们从P 串本身出发,事先就找准了T自身前后部分匹配的位置,那就可以改进算法. next数组的含义: ...
- Siverlight网页应用程序中WCF通信注意事项
最近刚刚接触WCF通信,功能就是客户端点击按钮后,服务器端返回一个随机数字.在VS2010中调试的时候,通信都正常,但发布到IIS7中就没反应了,经过几天的摸索,发现WCF的配置要注意以下两点: 1. ...
- PL/SQL — 隐式游标
一.隐式游标的定义及其属性 定义 隐式游标由系统自动定义,非显示定义游标的DML语句即被赋予隐式游标属性.其过程由oracle控制,完全自动化.隐式游标的名称是SQL,不能对SQL游标显式地执行OPE ...
- HTML5下通过response header解决跨域AJAX cookie的问题
ajax: 通过给Response Header添加Access-Control-Allow-Origin:* 来解决跨域请求,*代表允许所有的跨域请求,或者把*换成指定的域名 cookie: 服务 ...
- Design Tutorial: Make It Nondeterministic
Codeforces Round #270:C;http://codeforces.com/contest/472 题意:水题 题解:贪心即可. #include<iostream> #i ...
- 用CURL来实现file_get_contents函数:curl_file_get_contents
<?php $url='http://www.bamuyu.com/news/zixun/list_7_2.html'; $content=curl_file_get_contents($url ...
- 李洪强漫谈iOS开发[C语言-016]-变量的作用域
- easyui源码翻译1.32--Messager(消息窗口)
前言 使用$.messager.defaults重写默认值对象.下载该插件翻译源码 消息窗口提供了不同的消息框风格,包含alert(警告框), confirm(确认框), prompt(提示框), p ...