[译]Professional ASP.NET MVC3(02) - Chapter 1:Getting Started(中)

简介:

二、创建一个ASP.NET MVC3应用

要了解MVC3是怎样工作的,最好的途径莫过于实际创建一个应用,那么我们开始吧。

ASP.NET MVC3软件需求

MVC3可以在如下Windows客户端操作系统运行:

  • Windows XP
  • Windows Vista
  • Windows 7

它可以运行在以下几种服务端操作系统上:

  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2008 R2

MVC 3开发工具既可以安装在Visual Studio 2010上,也可以安装在Visual Web Developer 2010 Express.

安装ASP.NET MVC3

确认满足了基本的软件需求后,到时间该在你的开发机器和产品机器上安装ASP.NET MVC3了。值得庆幸的是,这相当简单。

MVC2并行安装


MVC 3和MVC 2是可以并列安装的,因此你可以安装并立即开始使用MVC3。你仍然可以像往常一样创建和更新已经存在的MVC2应用程序。

安装MVC3开发组件

ASP.NET MVC3开发者工具支持Visual Studio 2010或者Visual Web Developer 2010 Express(免费)。

安装MVC3,可以使用Web Platform Installer (http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3),或者可执行安装包( http://go.microsoft.com/fwlink/?LinkID=208140)。我一般比较倾向于使用Web Platform Installer,因为它只下载和安装目前没有的组件。可执行安装包可以离线运行,它包含了所有需要的东西。

服务器安装MVC 3

安装包会检测它是否运行在不必支持开发环境的机器上,而且只需安装服务端部分。假如你的服务器是可以访问网络的,WebPI是一个轻量级的安装,因为没有必要安装任何开发者工具。

当在服务器上安装MVC3时,MVC运行时程序集是被安装在全局程序集缓存(GAC)中,这意味着该服务器上的所有网站都可以使用。另外一种方式是,根本不在服务器上安装MVC 3,而是在你的应用程序中包含所需的程序集,这种处理方式叫做二进制部署(bin deployment),实现方式是在项目引用中添加下列程序集,并在Visual Studio属性中将其设置为“本地”(Copy Local)。

  •   Microsoft.Web.Infrastructure
  •   System.Web.Helpers
  •   System.Web.Mvc
  •   System.Web.Razor
  •   System.Web.WebPages
  •   System.Web.WebPages.Deployment
  •   System.Web.WebPages.Razor

要想获取关于安装选项的更多信息,请查看Scott Guthrie的博客,名为“Running an ASP.NET MVC 3 app on a web server that doesn’t have ASP.NET MVC 3 installed,”,链接地址为:http://weblogs.asp.net/scottgu/archive/2011/01/18/running-an-asp-net-mvc-3-app-on-a-web-server-that-doesn-t-have-asp-net-mvc-3-installed.aspx.

创建一个ASP.NET MVC3应用程序

安装MVC 3之后,会发现Visual Studio 2010和Visual Web Developer2010都有了一些新的选项。两个IDE中的这些体验都是及其相似的,由于本书属于高级系列教程,我们将会主要以Visual Studio 开发环境为主,只在当两者区别较大的时候才会提到Visual Web Developer。

MVC 音乐商店


我们会使用基于MVC音乐商店博客的一些例子,这些例子的在线地址是:http://mvcmusicstore.codeplex.com,并且包含150页的电子教程来讲解MVC3应用程序的构建基础。本书中我们会稍微快一些,不过如果你需要更多关于介绍性话题的信息,好在他们有一个共同的起点but it’s nice to have a common base if you need more information on the introductory topics )。

我们来新建一个MVC项目:

1.开始先选择File->New->Project,如图1-2所示。

clip_image002

 

2. 如下图所示,在新建项目对话框左侧列的模板部分,选择Visual C#->Web模板列。在中间列会显示web应用类型的列表。

clip_image004

 

3. 选择ASP.NET MVC3 web应用程序,将应用程序命名为MvcMusicStore,单击OK。

 

新的ASP.NET MVC3对话框

创建新的MVC3应用之后会看到一个对话框,包含项目创建过程中的一些具体的MVC选项,如图1-4所示。在对话框中勾选的选项将为你的应用程序生成一些具体的底层结构,包含账号管理、view引擎以及测试等。

image

 

应用程序模板(Application Templates

首先,要在预先安装的两种项目模板中进行选择(如图1-4)。

  •  The Internet Application template:该模板包含了MVC web 应用程序的基本内容,创建完成后可以立即运行并看到一些页面。只需要短短一分钟时间就可以完成这些。该模板还包含了一些基本的账号管理功能,它对应着ASP.NET Membership系统(第7章中会讨论到)。

   ASP.NET MVC3更新工具中还添加了Intranet Application template,但它的账号管理功能不是针对ASP.NET membership系统,而是关于windows账号。

  •  The Empty template:这个模板基本上是空的。它也包含了基本的文件夹、CSS和MVC应用的基本架构,但是仅此而已。直接运行用空模板创建的应用将会看到错误信息——你需要从头开始一步步进行开发工作you need to work just to get to square one)。既然如此,那为什么还要将该模板包含进来呢?其实空模板是为了方便经验丰富的MVC开发人员更精确的按照自己的需要来进行设置和配置。我们将会在本章后半部分简略的看一下空应用程序的结构。要想了解更多,可以参考一下MVC音乐商店的应用程序,它就是用空模板创建的。

View引擎(View Engine

在新的ASP.NET MVC3项目对话框中,接下来的选项是view引擎下拉框。View引擎提供了不同的模板语言用来生成MVC项目中的HTML标签。在MVC3之前的版本中,view引擎唯一的集成选项是ASPX或者说Web Forms。这个选项依然是可用的,如图1-5所示。

image

 

测试(Testing

如果使用了Internet或者Intranet应用程序模板,那么在新的ASP.NET MVC3项目对话框中会有另外一个选项。该部分主要处理测试,如图1-6所示。

image

如果不选中创建测试项目的复选框,那么意味着你的项目创建时不会包含任何单元测试,也就没有其他的需要做了。

推荐:选中复选框

我希望你会形成对每个新建项目都选中“创建单元测试项目”复选框的习惯。

我并不打算向你兜售“单元测试”信仰 — 至少现在还不。整个这本书中我们都会谈论单元测试,特别是第12章,会涉及单元测试及可测试模式,但我们并不打算把它强行塞入你的喉咙(让你生吞活剥)。

因此,我的推销(建议)是:只选中这个复选框。你(暂时)不必知道这么做的细节,也不需要你具有一个ALT.NET的粉饰或一份证书(意即,你现在不需要具备单元测试的任何基础知识)。本书中我们会涉及一些单元测试以让你入门,而单元测试最好的起步就是选中这个复选框,以便你以后可以编写一些测试而不必做任何设置。

在选中创建单元测试项目复选框(Create a Unit Test Project box)之后,会有两外几个选项:

  • 第一个很简单:你可以任意修改单元测试项目的名称;
  • 第二个选项允许选择一个测试框架,如图1-7所示。
  • image

 

你可能已经注意到,只有一个测试框架供选择,这看起来好像没有太大必要了。只有一个下拉框选项是因为单元测试框架式可以注册到该对跨框中的,所以如果你安装了其他单元测试框架(如xUnit, Nunit, MbUnit等),那么将会显示在该下拉框列表中。

Visual Studio Unit Test Framework只在Visual Studio 专业版或者更高版本中可用。如果你使用Visual Studio 2010标准版或者Visual Web Developer 2010 企业版,那么你需要下载安装ASP.NET MVCNunit, MbUnit或者Xunit扩展包才可以看到这个对话框。

 

为单元测试框架下拉框注册测试框架


可曾想过为新的MVC新建项目对话框注册测试框架要涉及到哪些吗?

该过程在MSDN上进行了详细的描述(http://msdn.microsoft.com/en-us/library/dd381614.aspx)。主要包括两个步骤:

1. 为新的MVC测试项目创建并安装模板项目;

2. 通过在HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\MVC3\TestProjectTemplates下添加一些注册表项来注册测试项目类型。

检查并确认你的信件MVC 3应用程序对话框中的设置和图1-8中一致,然后单击确定。

image

 

这样就创建了包含两个项目的解决方案——其中一个是web应用程序,另外一个是单元测试项目,如图1-9所示。

image



    本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/archive/2012/03/30/2419022.html,如需转载请自行联系原作者




相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
38 0
|
27天前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
27 0
|
28天前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
123 0
|
5月前
|
开发框架 自然语言处理 前端开发
基于ASP.NET MVC开发的、开源的个人博客系统
基于ASP.NET MVC开发的、开源的个人博客系统
51 0
|
8月前
|
SQL 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(完:内附源码)
经过一段时间的准备,【ASP.NET Core MVC开发实战之商城系统】已经完成,目前代码已开发完成,先将全部内容整理分享,如有不足之处,还请指正。
106 0
|
8月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(六)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情,购物车等功能的开发,今天继续讲解订单管理功能开发,仅供学习分享使用,如有不足之处,还请指正。
212 0
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
114 0