国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

DNX概述

2019-11-14 13:39:52
字體:
供稿:網(wǎng)友

1. 什么是.NET執(zhí)行環(huán)境 ?

.NET Execution Environment(DNX) 是一個SDK 和運行時環(huán)境,它包含所有的你需要創(chuàng)建和運行.net應(yīng)用程序的組件。它提供一個主機進程,CLR宿主邏輯和管理入口點。DNX是為執(zhí)行跨平臺的asp.net的Web應(yīng)用程序而創(chuàng)建的。但是它也能執(zhí)行其它類型的.net應(yīng)用程序,如控制臺應(yīng)用程序。

2. 為什么創(chuàng)建DNX ?

DNX提供一個在不同平臺開發(fā)和執(zhí)行的環(huán)境。你可以用DNX在一種平臺上面開發(fā),然后部署到另一個平臺上面去。

DNX簡化了開發(fā)跨平臺的應(yīng)用程序, 它負責的給CLR宿主,處理依賴和啟動你的應(yīng)用程序。你可以通過輕量級的json配置文件定義你的應(yīng)用程序,建立你的工具并發(fā)布它。

包的管理完全地改變了現(xiàn)在應(yīng)用的開發(fā),DNX使其很容易地創(chuàng)建和應(yīng)用包。DNX提供工具安裝、創(chuàng)建、管理NuGet包。DNX工程簡化了利用交叉編譯為不同的構(gòu)架生成不同的NuGet包。你可以直接引用NuGet包和還有依賴。你也可以創(chuàng)建和安全開發(fā)工具

DNX使其很容易與開源的工程一起工作,通過DNX你可以很容易地用源代碼替換掉一個已經(jīng)存在的依賴。讓DNX在運行時編譯,然后你可以Debug源代碼和修改它。

3. 工程

一個DNX的工程是一個含有

  "descr

   "authors" : ["daroth"],

   "tags": [ "" ],

   "projectUrl": "",

   "licenseUrl": "",

 

   "frameworks":{

       "net451": {},

       "dotnet5.4":{

            "dependencies":{

                  "Microsoft.CSharp": "4.0.1-beta-23516",

                   "System.Collections": "4.0.11-beta-23516",

                   "System.Linq": "4.0.1-beta-23516",

                   "System.Runtime":"4.0.21-beta-23516",

             }

         }

    }

  }

}

在"frameworks"屬性下面你可以聲明你需要哪個構(gòu)架來構(gòu)建你的應(yīng)用。 DNX可以交叉編譯每一個構(gòu)架創(chuàng)建相應(yīng)的lib目錄。

你可以利用 .NET Development Utility(DNU)來創(chuàng)建,打包和發(fā)布DNX工程, 生成二進制文件。打包可以生成NuGet package,然后上傳到package feed. 發(fā)布是把所有相關(guān)的組件打包到一個獨立的文件當中以便發(fā)布當前應(yīng)用。

4. 依賴

依賴在DNX由名字和版本號組成。版本號應(yīng)該遵循語義版本(主版號-次版本號-補丁). 典型的依賴參考安裝的NuGet包或者另一個DNX工程。工程的引用在當前目錄引用或者用global.json在解決方案一級:

{

  "projects": ["src", "test"],

  "sdk": {

      "version":"1.0.0-rc1-final"

   }

}

global.json文件也定義了最小的DNX版本以用來創(chuàng)建當前的工程。

依賴是可以傳遞的,你可以只在最頂級申明你的依賴。DNX可以下載整個依賴圖用安裝的NuGet包。工程依賴生成在運行時在生成工程的時候,這樣可以使你靈活地用二進制工作或者源文件部署你的DNX應(yīng)用。

5. 包和摘要

對包的引用你首先要安裝你的包,你可以用DNU去去安裝下載新的包到目前的或者重新恢復(fù)所有的依賴。下面的命令是下載和安裝所有的在project.json里申明的所有包:

dnu restore

包被重置利用配置的包文件。可以配置包的摘要用NuGet.config

6. 命令

一個命令是一個命名的.net運行的入口。你可以在project.json文件中定義命令:

"commands":{

  "web":"Microsoft.AspNet.Server.Kestrel",

  "ef":"EntityFramework.Commands"

},

你可以像下面這樣來用DNX執(zhí)行你的命令:

dnx web

命令可以做為NuGet包的形式被創(chuàng)建和發(fā)布, 你可以用DNU去安裝全局的命令:

dnu commands install MyCommand

7. 應(yīng)用宿主

DNX應(yīng)用程序宿主是被DNX第一個調(diào)用的管理入口,負責處理依賴,解釋project.json, 提供其它的服務(wù)和調(diào)用應(yīng)用程序的入口。

另外,你可以用直接DNX調(diào)用你的應(yīng)用程序入口。用DNX而不用DNX 應(yīng)用宿主并不是很常見。

DNX應(yīng)用宿主提供一系統(tǒng)的應(yīng)用程序依賴(如IServiceProvider, IapplicationEnvironment和ILoggerFactory).應(yīng)用程序宿主服務(wù)可以在你的主入口中被注入到構(gòu)造函數(shù)當中。

8. 編譯模塊

編譯模塊是一個可以擴展的點,可以讓你參與 到DNX編譯的過程當中。你可以通過實現(xiàn)ICompileModule接口來實現(xiàn)你自己的編譯模塊,然后放到compiler/preprocess或者compiler/postprocess當中去。

9. DNX版本管理

你可以安裝不同的DNX版本到你機器上去。你可以用.NET Version Manager(DNVM)來管理不同的DNX版本。DNVM可以讓你在你的機器上面列出不同的DNX版本, 安裝不同的版本轉(zhuǎn)換當前激活的版本。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 赣榆县| 仁怀市| 新津县| 武威市| 余庆县| 正定县| 衡水市| 景洪市| 新巴尔虎右旗| 文安县| 阿克陶县| 麻阳| 贵溪市| 于都县| 藁城市| 林芝县| 曲周县| 穆棱市| 景洪市| 高台县| 筠连县| 始兴县| 三门县| 开阳县| 偃师市| 墨脱县| 易门县| 澄城县| 西峡县| 微山县| 麻栗坡县| 宁夏| 成安县| 漳平市| 宜都市| 柞水县| 康马县| 荣昌县| 靖西县| 广汉市| 万源市|