manbetx官方网站

认ASP.NET 5列组织及种文件xprojASP.NET Core项目中新增及去的始末。

十月 8th, 2018  |  中超

ASP.NET 5
在类型结构及开了深怪之改观,我们先熟悉的目录结构和类型文件内容都非绝雷同了,本篇文章带大家探听
ASP.NET 5 到底与原先发哪不均等的地方。

流行一本的.NET几透过改名,最终取得了.NET
Core这个英雄上之名,相应的ASP.NET MVC也随着提供了ASP.NET Core
MVC版本。

俺们事先用 Visual Studio 2015 建立一个新的 ASP.NET 5 网站项目,打开VS2015,创建Web项目,.net framework 选择.net 4.5 以上,选择ASP.NET Web Application,在弹出的窗口里挑选ASP.NET 5 Website模板创建项目,图示如下:

于.NET
Core没有平安名称时,叫做MVC6,模糊记得主推的概念就是MCV的controller和API的controller合二为同一了,还从未赶趟深入了解名称即使变更了。

opebet平台 1

此时此刻的本与名称已经相对成熟,从.NET社区推荐的热点文章来拘禁,都是针对.NET
Core给起之应用介绍。

创建好项目后,并参考下图打开项目的所在文件夹,解决方案目录结构:

自打日前之打听来拘禁,相比之前ASP.NET版本,是一个簇新的框架,程序集包之类的都独立出来了,比较的轻量级,当然会运作于Linux/Mac系统,这是基础核心卖点之一。

opebet平台 2

还可利用Visual studio
code在非windows平台开发顺序,扩宽了.NET开发人员的技术应用范围。

其实文件夹的目结构,我们见到有几乎独文件夹,下面我们开展逐项介绍

那么新框架和之前的ASP.NET项目组织较,增加了何等内容及去了什么内容,根据新近的摸底做一个简约的整。

opebet平台 3

 

  • .vs 隐藏文件夹:用来保存原本我们以VS2003-2013型目录中见面看的
    *.suo 文件,这个文件要用来保存 Visual Studio 2015
    操作过程的局部状态,例如你就拉开之档案列表等临时的信。如果
    ASP.NET 5 网站采取 IISExpress 进行排错,IISExpress 所需要之
    applicationhost.config 配置文件呢会见在 .vs\config\ 目录下。
    这些临时的文本不应放入到源代码版本控制,这个好不容易一个更上一层楼。
  • artifacts
    文件夹:用来保存网站构建过程中得现保存的元文件案与输出文件,也尽管是先前在列蒙时时来看的
    bin 与 obj
    目录,现在犹统一搬迁至者文件夹下。这个文件夹不应加入版本控制,这又是同等大改善。
  • src
    文件夹:用来放置该方案里之有着项目,所以要的源代码都见面放于是目录下,该目录下每个目录就是一个独立的种类。
  • *.sln
    项目文件:这个文件就绝不介绍了,跟之前我们常来看的门类解决方案是了同的。
  • global.json
    全局配置文件:这个文件一般还与项目解决方案在同样层文件夹下,用来吃解决方案参考用的。主要用于定义要「自动导入」到解决方案文件中之不二法门列表与
    sdk 的默认版本。如下图的 “projects” 参数就产生列有设定的会导入入 src
    与 test
    文件夹下有所的项目。举例来说,如果您想以其它一个化解方案目录下之之一一个
    ASP.NET 5 项目搬迁到目前项目下,只要将该项目目录 ( src\projectName
    ) 直接走及当前方案的 src\ 目录下即可,其他甚都休想安装!

    opebet平台 4

1.Global.asax-》Program.cs

随即我们进 ASPNET5WebApp 项目文件夹
(如下图),项目的目录结构也与之前差别很要命哦,我同一由臻到下各自介绍一方方面面:

 

opebet平台 5

前面版本Global是网站启动的必经之路,因此不少布局都以Application_Start中吃安装好。

  • bower_components文本夹:由于 Visual Studio 2015 与 Web 前端最常用的 bower 工具整合在一起,未来具备的「前端」套件通过 bower 命令进行设置时,都见面自行将套件安装及bower_components文件夹之中。这个文件夹不应该加入版本控制。
  • Compiler文本夹:ASP.NET MVC 6 ( 等同于 ASP.NET 5 ) 开始,将支持 Razor 预先编译功能,可以被您于配备网站经常事先编译所有 Razor页面,以升级网站实施之快。在斯文件夹着发生只Compiler\Preprocess\RazorPreCompilation.cs文件,可以于你设置是否要启用 Razor 自动编译功能。(只要取消注释掉的程序代码就得启用 Razor 预先编译机制)

    opebet平台 6

  • Controllers文件夹:这个是 ASP.NET MVC 6 的 Controllers 专用文件夹。

  • Migrations文件夹:这个是 Entity Framework 的 DbMigration 专用文件夹。
  • Models文件夹:这个是 ASP.NET MVC 6 的 Models 专用文件夹。
  • node_modules文件夹:由于 Visual Studio 2015 将 nodejs
    常用的 npm
    套件管理工具整合在一起,未来享有的 npm 组件都足以经 npm 命令进行设置,且这些零件默认的安都见面设置至node_modules文本夹之中。注意是文件夹不应当投入版本控制。
  • Properties文本夹:这个文件夹和之前多,也是为此来保存有路之特别设置,例如网站发行安排文件等。但除去,还差不多矣一个 AppSettings.cs 类别文件,这个文件着重目的是为此来定义一个 AppSettings (应用程序设定) 的模型类 (Model Class),让您用强型别的办法读取应用程序配置参数。
  • Views文件夹:这个是 ASP.NET MVC 6 的 Views 专用文件夹。
  • wwwroot文本夹:这个文件夹就是全新的东西了,未来的 ASP.NET 5 只要是「静态文件」,例如 js, css, images, … 诸如此类的静态文件,都见面联合置于这个文件夹里面,避免前端文件以及后端程序代码混在协同的景况。ASP.NET5是根本模块化了,IIS不再是运作MVC程序的绝无仅有容器,任何兼容DNX的运作容器都可运作MVC程序,程序发布包被分成approot和wwwroot两单有,分别寄存应用程序集(或源码)和静态文件,从而形成还好之分开。
  • *.xproj文件:这是新一代的花色文件,有别于以前的*.csproj与*.vbproj项目档案,这个路文件小多了,内容格式差不多,一样是 XML 的格式,一样是 MSBuild 会去参考的情,但极致酷之不同之处在于,新版*.xproj甭再明确列出所有的文件清单,所有项目遭到之文书不再用专门加入或者移除,只要档案出现在项目目录中,文件就会见自行为在项目里!进一步加重约定胜为配置原则,项目面临之所以非顶的文本乖乖删除吧,这样就是可拿路受到多勿欠存在的垃圾文件清理了,相信大家对当下点特别有令人感动吧。
  • *.xproj.user文件:这个文件用来记录项目以 Visual Studio 2015 开发工具里的局部状态,例如你就被之公文列表等暂存信息。这个文件不应加入版本控制。
  • bower.json文件:这是 bower 工具专用的布局文件,与 ASP.NET 5 没有一直关乎,相关文书要参见这里:http://bower.io/docs/config/
  • config.json文本:这是 ASP.NET 5 的型安排文件,所有应用程序参数设置与连接字符串都见面定义在这个。
  • gulpfile.json文件:这是 gulp
    前端流程管理工具专用的布局文件,可以帮你完成部分自动化的做事。这文件以及 ASP.NET 5 没有直接涉及,相关文书要参考这里:https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md

  • MessageServices.cs文本:这个文件是当您在 ASP.NET Identity 启用二品级验证 (two-factor authentication)
    时,让您勾勒发送 Email 或 SMS 短信程序代码的地方。

  • package.json 文件:这是 nodejs
    的 npm
    工具专用的布文件,与 ASP.NET 5 没有一直关联,相关文书要参考这里:https://docs.npmjs.com/

  • project.json文件:这个文件是至关重要之 ASP.NET 5 项目布局文件,许多重点的设定都起 web.config 改到者档案来了,如果只要描写好 ASP.NET 5 势必得深入了解 project.json 文件之部署方式,详细文件要参见:https://github.com/aspnet/Home/wiki/Project.json-file

  • project.lock.json文件:由于在 project.json 文件之中会定义项目用加载的 NuGet 套件,而且 Visual Studio 2015 也会见活动加载套件的依赖性套件,因此老是项目以新的环境构建时,很有或会见花上 3 ~ 5 倍增之日子开展还原套件 (Package Restore),这个 project.lock.json 文件较像是先的 packages.config 文件,明确列出所有需要加载的 NuGet 套件有怎么样。这个文件是出于 Visual Studio 2015 自动生成的,但建议在版本控制,以缩短 CI 构建的年月。

  • Project_Readme.html文件:项目说明档,该网页有为数不少参阅链接,可以给您深深摸底 ASP.NET 5 的开发方式。
  • Startup.cs文本:这个文件是要的 ASP.NET 5 网站启动入口,由于 ASP.NET 5 执行生命周期的改,以前的 global.asax 文件已经改为过往云烟不复存在了,取而代之的饶是 Startup.cs 文件里的 Startup 类。换句话说,未来 ASP.NET 5 应用程序启动时,第一时间就是于 Startup 类开始执行的!

.NET
Core的默认项目受到不有Global.asax文件,取而代之的是Program.cs文件,这个代码文件实际上提供了一个Main方法(第一觉立马是个控制台程序),默认代码创建了WebHost,然后运行是host。看到Main方法应该挺熟悉,也甚好理解,程序的主入口嘛,这样呢跟其他的非Web
.NET程序程序即使同样了。

本文概要的牵线 ASP.NET 5 全新的档次目录结构及 xproj 项目文件,以及部分充分关键之公文,都是急需特别额外学习的一些,博客园的”汤姆大叔”通过翻阅微软的源码以及网络及的部分文章让大家整理了一个雨后春笋入门教程。且其中的代码都于VS 2015 RC中进行了证明。作者为为这些文章建立了一个目录
http://www.cnblogs.com/TomXu/p/4496545.html ,这个系列文章我为于微信公众号opendotnet 上转载了,欢迎关注微信公众号opendotnet,通过历史信息看:

WebHost比较主要之操作是绑定了一个Startup文件,详看接下去的说明。

  1. ASP.NET 5简介

  2. 初识路

  3. 类揭示和部署

  4. 核心技术与环境布置

  5. Configuration配置opebet平台信息保管

  6. Middleware详解

  7. 拄注入

  8. Session与Caching

  9. 日记框架

  10. Controller与Action

  11. Routing路由

  12. 基于Lamda表达式的强类型Routing实现

  13. TagHelper

  14. View
    Component

  15. MvcOptions配置

  16. 从定义View视图文件查找逻辑

  17. MVC中之任何新特性

 

 

2.App_Start -》Startup.cs

是文件夹的拓宽之情节由名称及便看得出来,在ASP.NET
5本的当儿默认保存有网站启动时要履行的布置代码,比如路由,过滤器等。当然都是有些静态文件,需要在Global的Application_Start()中调用。

方先是触及也论及了,Global.asax无在了,是经过WebHost绑定了一个Startup.cs文件。

以斯Startup.cs文件了包了所以的配置工作,只要以中实践配置就可以了。

再次活的是得依据不同的部署环境提供多单不同之Startup文件。

3.App_Data -》删除

是文件夹之前版本也杀少用到,一般只是做练习将数据在地面,在.NET
Core默认项目中未提供了。

 

4.Web.Config -》弱化

这经典的文书于第一本子的的ASP.NET就闹,到了.NET
Core之后还能动用,但是效果已经减弱,新的布文件都经过appsettings.json提供,配置进一步的活,相关的读取配置的API也越加从简。

 

5.Scripts文件夹 -》wwwroot

Scripts文件夹默认放在品种根目录下,当然前端开发负责人会面发出谈得来之布。.NET
Core默认吧静态文件还放入到了wwwroot文件夹下,结合bower的保管办法,会提供一个Lib文件夹,然后每一个组件一个文书夹的办法存在。

 

6.新增Dependencies

此处的Dependencies不是次集的援,而是指向客户端的零部件的援,比如利用bower管理,就见面供一个bower文件夹,里面含了援的组件的版本信息,类似于nuget。

 

7.新增project.json

自我看这是最好深之浮动,之前程序集的援都是行使nuget提供的packages.config文件来治本依赖的机件,现在还转移至了project.json的dependencies节点中。

project.json的用意不仅是治本依赖之程序集,还好安装目标框架版本、编译、发布选项等。

 

相关文章

标签:, ,

Your Comments

近期评论

    功能


    网站地图xml地图