亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

認識ASP.NET 5項目結構和項目文件xproj

2019-11-17 02:10:22
字體:
來源:轉載
供稿:網友

認識asp.net 5項目結構和項目文件xPRoj

ASP.NET 5 在項目結構上做了很大的改變,我們以前熟悉的目錄結構與項目文件內容都不太一樣了,本篇文章帶大家了解 ASP.NET 5 到底跟以前有哪些不一樣的地方。

我們先用 Visual Studio 2015 建立一個全新的 ASP.NET 5 網站項目,打開VS2015,創建Web項目,.net framework 選擇.net 4.5 以上,選擇ASP.NET Web application,在彈出的窗口里選擇ASP.NET 5 Website模板創建項目,圖示如下:

創建好項目后,并參考下圖打開項目的所在文件夾,解決方案目錄結構:

實際文件夾的目錄結構,我們看到有幾個文件夾,下面我們進行逐一介紹

  • .vs 隱藏文件夾:用來保存原本我們在VS2003-2013項目目錄中會看到的 *.suo 文件,這個文件主要用來保存 Visual Studio 2015 操作過程的一些狀態,例如你已經開啟的檔案列表等臨時的信息。如果 ASP.NET 5 網站使用 IISExpress 進行排錯,IISExpress 所需要的 applicationhost.config 配置文件也會放在 .vs/config/ 目錄下。 這些臨時的文件不應該放入到源代碼版本控制,這個算是一個改進。
  • artifacts 文件夾:用來保存網站構建過程中需要臨時保存的元文件案與輸出文件,也就是以前在項目中??吹降?bin 與 obj 目錄,現在都統一搬到這個文件夾下。這個文件夾不應該加入版本控制,這又是一大改進。
  • src 文件夾:用來放置該方案里的所有項目,所以主要的源代碼都會放在這個目錄下,該目錄下每個目錄就是一個獨立的項目。
  • *.sln 項目文件:這個文件就不用介紹了,跟之前我們??吹降捻椖拷鉀Q方案是完全一樣的。
  • global.json 全局配置文件:這個文件通常都跟項目解決方案放在同一層文件夾下,用來給解決方案參考用的。主要用來定義要「自動導入」到解決方案文件中的路徑列表與 sdk 的默認版本。如下圖的 "projects" 參數就有列出設定的會導入入 src 與 test 文件夾下所有的項目。舉例來說,如果你想將另一個解決方案目錄下的某一個 ASP.NET 5 項目遷移到目前項目下,只要將該項目目錄 ( src/projectName ) 直接移動到目前方案的 src/ 目錄下即可,其他甚么都不用設置!

接著我們進入 ASPNET5WebApp 項目文件夾 (如下圖),項目的目錄結構也跟之前差別很大哦,我一樣由上至下分別介紹一遍:

  • 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 預先編譯機制)

  • 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 類開始執行的!

本文概要的介紹 ASP.NET 5 全新的項目目錄結構與 xproj 項目文件,以及一些非常重要的文件,都是需要特別額外學習的部分,博客園的"湯姆大叔"通過閱讀微軟的源碼以及網絡上的一些文章給大家整理了一個系列入門教程。且其中的代碼都在VS 2015 RC中進行過驗證。作者也為這些文章建立了一個目錄 http://www.49028c.com/TomXu/p/4496545.html ,這個系列文章我也在微信公眾號opendotnet 上轉載過,歡迎關注微信公眾號opendotnet,通過歷史信息閱讀:

  1. ASP.NET 5簡介
  2. 初識項目
  3. 項目發布與部署
  4. 核心技術與環境配置
  5. Configuration配置信息管理
  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中的其他新特性


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人又粗大| 亚洲人在线视频| 欧美天堂在线观看| 欧美电影在线观看高清| 国产美女精彩久久| 欧美黄色片在线观看| 久久手机精品视频| 欧美另类极品videosbest最新版本| 亚洲a级在线播放观看| 亚洲a一级视频| 欧美精品一区在线播放| 国产精品99久久久久久人| 一区二区三区精品99久久| 久久久中文字幕| 久久精品电影一区二区| 欧美视频在线观看免费网址| 日韩视频在线观看免费| 91日本视频在线| 国产一区二区三区四区福利| 亚洲国产免费av| 欧美亚洲另类视频| 亚洲精品黄网在线观看| 日韩av在线网页| 亚洲自拍偷拍网址| 亚洲国产成人精品久久| 日本道色综合久久影院| 日韩成人黄色av| 日韩在线欧美在线| 尤物yw午夜国产精品视频明星| 国产精品久久久久av免费| 97超视频免费观看| 久久久www成人免费精品| 欧美激情一区二区久久久| 91wwwcom在线观看| 亚洲自拍偷拍一区| 欧美日韩亚洲精品一区二区三区| 国产成人91久久精品| 日韩在线激情视频| 国产精品91免费在线| 欧美视频免费在线观看| 久久久中文字幕| 亚洲无av在线中文字幕| 亚洲电影中文字幕| 欧美中文在线观看| 91精品久久久久久久久青青| 亚洲在线视频观看| 久久99青青精品免费观看| 国产欧美一区二区三区久久| 成人av资源在线播放| 一区二区三区久久精品| 亚洲精品黄网在线观看| 国产精品久久久久国产a级| 国产成人精品在线播放| 国产成人精品日本亚洲专区61| 伊是香蕉大人久久| 国产日韩欧美夫妻视频在线观看| 亚洲美女av在线| 国产一区二区免费| 狠狠操狠狠色综合网| 欧美性猛交xxxx乱大交3| 国产日韩精品在线观看| 欧美在线视频免费播放| 国产视频久久久久久久| 色天天综合狠狠色| 欧美老女人xx| 亚洲va电影大全| 日韩精品黄色网| 欧美一区在线直播| 日韩国产高清视频在线| 久久亚洲一区二区三区四区五区高| 日韩理论片久久| 成人中文字幕在线观看| 亚洲欧美在线看| www.久久久久| 欧美激情va永久在线播放| 国产成人精品一区| 国产精品美女主播在线观看纯欲| 精品久久久久久久久久| 久久精品成人欧美大片古装| 热门国产精品亚洲第一区在线| 九九热r在线视频精品| 国产在线观看一区二区三区| 国产剧情久久久久久| 久久理论片午夜琪琪电影网| 伊人男人综合视频网| 中文字幕亚洲无线码在线一区| 欧美黑人极品猛少妇色xxxxx| 日韩av大片免费看| 久久久av一区| 久久久av一区| 日韩欧美视频一区二区三区| 亚洲午夜女主播在线直播| 亚洲精品网址在线观看| 精品久久久中文| 亚洲精品女av网站| 久久影视电视剧免费网站| 亚洲网站在线观看| 久久久亚洲国产天美传媒修理工| 亚洲综合色av| 亚洲xxx大片| 国产婷婷97碰碰久久人人蜜臀| 日本久久久a级免费| 成人激情av在线| 国产精品99久久久久久www| 亚洲精品福利视频| 久久久久久国产精品三级玉女聊斋| 欧美日韩一区二区三区| 伊人成人开心激情综合网| 欧美大荫蒂xxx| 亚洲老头老太hd| 久久久久久久成人| 日韩在线视频一区| 亚洲成年人在线播放| 国产在线精品一区免费香蕉| 久久99热精品这里久久精品| 亚洲一区二区日本| 欧美日韩激情视频8区| 亚洲欧美另类人妖| 亚洲欧美制服另类日韩| 欧美电影免费观看电视剧大全| 国产精品丝袜久久久久久不卡| 亚洲黄色片网站| 成人在线一区二区| 欧美精品福利视频| 性视频1819p久久| 亚洲欧美三级伦理| 国产精品91久久| 91爱视频在线| 日韩美女视频免费在线观看| 91av在线免费观看视频| 国产精品白嫩美女在线观看| 亚洲欧美日韩天堂| 一区二区三区无码高清视频| 亚洲国产天堂久久综合| 欧美成人免费在线观看| 欧美性生交大片免网| 日韩黄色在线免费观看| 91免费国产视频| 这里只有精品视频| 亚洲香蕉成人av网站在线观看| 91久久久亚洲精品| 久久夜色撩人精品| 欧美国产高跟鞋裸体秀xxxhd| 欧美高清第一页| 国产成人精品综合久久久| 日韩电影免费在线观看| 奇米影视亚洲狠狠色| 亚洲一区二区三区xxx视频| 欧美国产精品人人做人人爱| 日韩在线免费观看视频| 欧美日韩激情美女| 亚洲女人被黑人巨大进入al| 中文字幕欧美日韩精品| 午夜精品在线观看| 97精品国产97久久久久久免费| 久久国产精品影片| 欧美一区三区三区高中清蜜桃| 欧美日韩激情视频8区| 992tv在线成人免费观看| 国产精品免费久久久久影院| 97在线观看免费| 中文字幕在线看视频国产欧美| 亚洲国产中文字幕久久网| 国产欧美一区二区三区四区|