03 入门 - 安装MVC 5和创建应用程序
本篇内容:
1. ASP.NET MVC 5的软件需求
2. 安装ASP.NET MVC 5
1)安装MVC 5开发组件
2)服务器安装
3. 创建ASP.NET MVC 5应用程序
4. New ASP.NET Project对话框
1)选择一种应用程序模板
2)测试
3)配置身份验证
4)配置Windows Azure资源
学习MVC 5工作原理最好的方法就是开始构建一个应用程序,下面就采用这种方法。
一、ASP.NET MVC 5的软件需求
MVC5需要.NET 4.5。因此,它可以运行在下面这些Windows客户端操作系统上:
1. Windows Vista SP2+
2. Windows 7
3. Windows 8+
4. Windows 10
也可以运行在下面的服务器操作系统上:
1. Windows Server 2008 R2
2. Windows Server 2012+
二、安装ASP.NET MVC 5
确定满足基本的软件需求之后,就可以在开发计算机和生产环境计算机上安装ASP.NET MVC5了。
安装过程并不复杂。
MVC5和以前版本的MVC程序相互兼容:
MVC5与以前的MVC版本并行安装,所以安装后可以理解开始使用MVC5。
另外,仍然可以创建和更新运行以前版本的应用程序。
1. 安装MVC5开发组件
ASP.NET MVC5的考法工具支持Visual Studio 2012+,包括2012+的Express的版本。
Visual Studio 2013+中包含MVC5,所以不需要单独安装。
如果使用的是Visual Studio 2012,则可以使用这个安装程序来安装MVC5,网址是:http://www.microsoft.com/zh-cn/download/41532
建议去官网瞅瞅,因为有相关介绍和版本兼容的说明等等。
当然,如果官网打不开或下载失败,可以留言,我都下好了,不行的话我转给你。
在这里,我使用的是Visual Studio 2013,因为自带了MVC5,所以我就不用安装这个了。
2. 服务器安装
MVC5是完全bin部署的,这意味着所有必要的程序集都包含在应用程序的bin目录下了,只要服务器上有.NET 4.5就可以进行安装部署了。
三、创建ASP.NET MVC 5应用程序
使用Visual Studio 2013或Visual Studio 2013 Express for Web 2013可以创建MVC5应用程序。
这两个IDE的使用方法时非常相似的,不过由于咱们主要是学习ASP.NET MVC相关的东西,所以涉及显著差异的地方,到时候再说。
创建一个新的MVC项目的步骤如下:
1. 选择“文件 - 新建 - 项目”选项,如图所示:

2. 在“新建项目”的对话框中,左侧依次选择“已安装 - 模板 - Visual C# - Web”模板列表,上面的.NET版本选择“.NET Framework 4.5”;
在模板列表中找到“ASP.NET Web 应用程序”并选择,将应用程序命名为“MvcMusicStore”,然后选择一个合适的存储位置,最后单击确定即可。
如图所示:

One ASP.NET 项目模板:
注意,这里没有MVC项目类型,只有“ASP.NET Web 应用程序”。
以前版本的Visual Studio把ASP.NET和MVC使用不同的项目类型,但是在Visual Studio 2013中,它们被合并成一个公共的项目类型。
关于这一点,在上一篇中MVC5的版本概述中,有关于“One ASP.NET”的相关说明。
四、New ASP.NET Project对话框
创建一个新的ASP.NET MVC5应用程序后,将会出现“新建 ASP.NET 项目”的对话框。
如图所示:

这里列出了所有ASP.NET引用程序工友的一些选项:
1)选择模板
2)添加框架特定的文件夹和核心引用
3)添加单元测试
4)配置身份验证
5)Windows Azure(Visual Studio 2013.2及更新版本)
前两个选项“选择模板”和“为以下对象添加文件夹和核心引用”共同起作用,需要都设置的。
模板选择了一个起点,然后使用框架复选框来添加对Web Forms、MVC和Web API的支持。
这意味着,我们可以选择一个MVC模板,然后添加Web Forms支持,或者可以选择空模板,添加对任意框架的支持。
这种功能不止在创建新项目时可以使用,任何时候都可以添加对任意框架的支持。因为框架文件夹和核心引用是通过NuGet包添加的。
回忆一下上篇中的“One ASP.NET”说到的:模板和核心引用的选择是可选的,而不是艰难的二选一。它们能够帮助我们起步,但是不会限制我们。
1. 选择一种应用程序模板
既然可以在任何项目上使用“对以下对象添加文件夹和引用”选项,那么使用Empty模板不就够了么?为什么还需要其他模板?
这是因为,其他模板会在一开始为“主要采用MVC”、“主要采用Web API”和“主要采用Web Forms”的应用程序做一些常用的设置(稍后介绍),从而为我们创建项目的起步提供一些方便。
稍后会介绍这些模板,不过要记住,他们只是Visual Studio 2013为了方便我们而提供的,并不是必须使用它们。
我们也可以使用一个Empty模板开始创建应用程序,然后需要的话再通过添加NuGet包的方式来加入对MVC的支持。
1)MVC:首先介绍这个最常用的模板。MVC模板设置一个标准的、带几个视图的HomeController,配置站点布局,并包含一个MVC特定的“Project_Readme.html”页面。后面咱们会好好研究这个模板;
2)Empty:可以想象,空模板会建立一个空的项目模骨架。得到的文件包括一个web.confgi(包含一些默认的网站配置设置)和创建项目所需要的几个程序集,但是仅此而已。这个模板不会提供任何代码,不包含Javascript或CSS脚本,甚至不会提供一个上面MVC模板中说到的那个静态的HTML文件;
3)Web Forms:Web Forms模板为ASP.NET Web Forms开发打下基础;
4)Web API:使用这个模板创建的应用程序同时支持MVC和Web API。包含MVC支持,部分是为了显示API Help页面,它们记录了公有API签名。现在用不到这玩意儿,最后的时候咱们再详细说;
5)Single Page Application:这个模板的应用程序主要通过Javascript请求Web API服务驱动,而不是采用传统的Web页面请求/响应周期。最初的HTML由一个MVC Home Controller提供,其余的服务器端交互则由一个Web API控制器处理。这个模板使用Knockout.js库来帮助管理浏览器中的文本。后面有机会再说这个单页模板,因为其重点其实是Angula.js,而不是Knockout.js;
6)Azure Mobile Service:安装Visual Studio 2013 Update 2(也叫做2013.2)之后,会看到这个额外的选项。因为Azure Mobile Service现在支持Web API服务,所以使用这个模板能够比较容易地创建针对Azure Mobile Service的Web API。在这里可以了解关于这个模板的详细信息:https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/dn629482.aspx
2. 测试
所有的内置项目模板都有一个选项,用来使用样本单元测试创建单元测试项目。
推荐:选中“添加单元测试”复选框
在这里建议大家养成在创建项目的时候选中“添加单元测试”的复选框。当然我也不是宣传打广告,毕竟Visual Studio这玩意儿也不是我的。。。
单元测试会贯穿如平时咱们写项目的时候,后面会介绍和使用单元测试和测试模式,到时候咱们可以在不设置任何东西的情况下编写一个测试代码。
不过。。。当然,有的朋友性子就是倔、所以这里也不会强制您非得接受这个东西。。
3. 配置身份验证
单击“更改身份验证”按钮,可以打开如图所示的“更改身份验证”的对话框,在这里可以选择身份验证的方法。

在这个对话框里一共列出了4个选项:
1)无身份验证:用于不需要身份验证的应用程序,例如没有管理单元的公共网站等;
2)个人用户账户:用于在本地存储用户配置文件(例如在SQL Server数据库中存储)的应用程序。支持用户名/密码账号,以及社交认证提供程序等;
3)组织账户:用于通过牟总形式的活动目录(如Azure Active Directory和Office 365)进行身份验证的账户等;
4)Windows 身份验证:用于内部网络的应用程序。
这里我们大部分用的都是默认的“个人用户账户”,后面会介绍其它选项。
当然,您也可以点击右侧的“了解更多”链接进入官网查看相关的说明文档。
4. 配置Windows Azure资源
Visual Studio 2013.2添加了额外的“在云中托管”选项,用来为项目配置Azure资源。
关于详细的更多信息,Google官网看详细介绍即可。
在这里,我们使用的是本地服务器,所以检查一下不要选中这个勾了。
再次确保“新建ASP.NET Web项目”的对话框和下图5一直,然后点击确定即可完成项目的创建:

这样,就创建了一个解决方案,其中包含两个项目:一个是Web应用程序,一个是单元测试程序,如图所示:

新MVC项目再应用程序的额根目录下包含“Project_Readme.html”文件。
创建项目的时候将自动显示这个文件,如图所示:

这是一个完全自包含的文件 —— 所有的样式都通过HTTP样式标签包含进来,所以使用完该文件后可以删除它。
Project_Readme.html文件针对每个应用程序模板定制,并包含大量有用的链接,它们有助于我们了解相关信息。
03 入门 - 安装MVC 5和创建应用程序的更多相关文章
- ASP.NET+MVC入门踩坑笔记 (一) 创建项目 项目配置运行 以及简单的Api搭建
哈喽各位 我又回来了! 前段时间研究了下ASP.NET,刚开始也是随便找网上的各种教程来看,但是鉴于本人技术有限,还是走了相当长的一段弯路的.所以我写下了这篇文章.希望各位刚刚入坑的ASP.NET开发 ...
- 【初学者指南】在ASP.NET MVC 5中创建GridView
介绍 在这篇文章中,我们将会学习如何在 ASP.NET MVC 中创建一个 gridview,就像 ASP.NET Web 表单中的 gridview 一样.服务器端和客户端有许多可用的第三方库,这些 ...
- 如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管
微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我就演示一下一下几个内容 1,怎么在Asp.net mvc 6 中创建简单 ...
- JBPM4入门——6.流程实例的创建和执行
本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...
- Mvc 6 中创建 Web Api
如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管 微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我 ...
- Angular JS从入门基础 mvc三层架构 常用指令
Angular JS从入门基础 mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
[.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序 一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...
- Activity工作流(2)-入门安装运行第一个例子
转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432 版权声明:本文为博主原创文章,未经博主允许不得转载 ...
- react入门安装
react的入门安装 1.react的适用方法有两种,其一是依赖在线的cdn地址: https://reactjs.org/docs/cdn-links.html 官方给的cdn地址如下 <sc ...
随机推荐
- 关于MQ,你必须知道的
我走过最长的路是你的套路 女:二号男嘉宾,假如我们牵手成功后,你会买名牌包包给我吗? 男:那你会听话吗? 女:会 听话. 男:听话 咱不买! OK那么消息队列MQ有什么套路呢?(这个话题转换生硬度连我 ...
- SpringBoot集成Lombok,应用+源码解析,让代码优雅起来
一.Lombok简介 (1)Lombok官网(https://projectlombok.org/)对lombok的介绍 (2)GitHub项目地址:https://github.com/rzwits ...
- Java安全(权限)框架 - Shiro 功能讲解 架构分析
Java安全(权限)框架 - Shiro 功能讲解 架构分析 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 简述Shiro Shiro出自公司Apache(阿帕奇),是java的一 ...
- python微信聊天机器人改进版,定时或触发抓取天气预报、励志语录等,向好友推送
最近想着做一个微信机器人,主要想要实现能够每天定时推送天气预报或励志语录,励志语录要每天有自动更新,定时或当有好友回复时,能够随机推送不同的内容.于是开始了分析思路.博主是采用了多线程群发,因为微信对 ...
- 在MySQL中实现Rank高级排名函数【转】
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
- 18 章 CSS 链接、光标、 DHTML 、缩放
1.CSS 中链接的使用 2.CSS 中光标的使用 3.CSS 中 DHTML 的使用 4.CSS 中缩放的使用 1 18 8. .1 1 S CSS 中 链接的使用 超链接伪类属性 a:link ...
- 海康相机SDK二次开发只有视频无声音问题
海康SDK相信做企业开发的的同仁,在项目中经常会用到,毕竟使用范围这么广. 本次就开发遇到的奇葩问题来说明一下我们的解决方案. 场景 虽然海康有4200客户端,但是对于高度定制化的项目,肯定不能再使用 ...
- 读书笔记:深入理解java虚拟机(一)虚拟机的运行时的数据区域
最近在看深入了解java虚拟机第一版(周志明著),特此写读书笔记,整理其中重要的东西和自己的理解. ”java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却 ...
- QT文件操作
/* 写文件 */ QFile file(filePath); bool bo = file.open(QIODevice::WriteOnly | QIODevice::Append); //qDe ...
- 微信小程序后端开发(Java语言)笔记
前言: 因为是第一次真正接触后端开发,从编码到部署服务器到上线,所以做个笔记,也供和我一样的开发小白一些参考. 一.前期工作:开发环境与工具: 1. 编程语言:Java #笔者还没学PHP,只想 ...