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

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

Windows 搭建 .NET 跨平臺環境并運行應用程序

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

Windows 搭建 .NET 跨平臺環境并運行應用程序

寫在前面

閱讀目錄:

  1. Install .NET Version Manager (DNVM)
  2. Install .NET Core Execution Environment (DNX)
  3. Write the app
  4. Run the app

如果一兩個月不去關注 .NET 跨平臺的一些東西,再次進行學習就會很吃力,而且有很多新的變化,是你不知道的,比如命名的變化等。之前有嘗試過 asp.net 5 在 Windows 環境中的部署,包括在 IIS 或非 IIS 環境中,但應用程序創建的非常簡單,就是使用 Visual Studio 2015 創建 ASP.NET 5 應用程序,之后你就不需要關心 ASP.NET 5 的運行環境該怎么搭建,Visual Studio 2015 會幫你自動生成,然后你把這一坨文件(包含代碼和程序包)拷貝到 Windows 服務器就可以了,最后敲一下 k runk web 的命令,瀏覽器輸入 PRoject.json 中配置的服務器地址,就這么簡單。

但如果自己搭建 .NET 運行環境,會是怎樣的一種情況呢?就像 dudu 把所有 .NET 跨平臺的項目,在各個平臺 build 一遍,這個就不像上面敲幾個命令這么簡單了。今天在嘗試之前,對于技術小白的我來說,有幾個不知所措的地方(我相信你也是),記錄一下:

  • CoreCLR 和 DNX 到底是什么關系?
  • 如何安裝 CoreCLR?
  • 如何安裝 DNX?
  • 不使用 Visual Studio 2015,跨平臺的應用程序代碼該如何寫?
  • 命令行代碼該如何敲?
  • ....

是不是有點迷茫呢?還好通過萬能的 Google,找到了這樣一篇文章:It is very easy to get started with .NET Core on your platform of choice.,文章很簡單,就是幾個命令行代碼,我喜歡簡單的東西,所以我決定按照上面的指示嘗試下,首先是最簡單的 Windows 平臺。

對于上面的幾個問題,可以通過實際操作的過程中,進行深入體會。

1. Install .NET Version Manager (DNVM)

DNVM 是什么?DNVM 的前身是 KVM(K Version Manager),KVM 又是什么?KVM 是 KRE 的版本管理器,KRE 又又是什么?KRE 是 ASP.NET 5 應用程序的運行時,也就是 DNX 的程序包管理器,也就是 .NET 的程序包管理器,難道統一了?不知道。

安裝命令(PowerShell):

PS > &{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}

操作截圖:

2. Install .NET Core Execution Environment (DNX)

不是應該要安裝 CoreCLR 嗎?為什么要按照 DNX?DNX 是什么?從上面的簡單解釋中,可以看到 DNX = .NET Core Execution Environment,注意 Execution,意為執行,.NET Core Execution Environment(DNX) = .NET Core runtime(CoreCLR) 嗎?很顯然,這兩個不是一個概念,一個是運行時,一個是執行環境,我個人理解,執行環境包含運行時,并且執行環境基于運行時,也就是 DNX base on CoreCLR,我之前一直以為 DNX 是 ASP.NET 5 應用程序的執行環境(GitHub 項目在 aspnet 下),但現在顯然不是,它應該是整個 .NET 應用程序的執行環境,下面我們創建一個控制臺程序就可以證明,廢話有點多,我們先安裝一下 DNX。

安裝命令(PowerShell):

PS > dnvm install -r coreclr latest -u

但是報下面的錯誤:

轉到安裝 DNX 的目錄,并再次執行命名:

根據提示,把 dnvm 改為 ./dnvm:

解決“因為在此系統中禁止執行腳本”問題,執行 set-ExecutionPolicy RemoteSigned 命令:

再次執行安裝 DNX 命令:

安裝成功:

3. Write the app

為了增加工作量,我們不使用 Visual Studio 2015 創建應用程序,可以進行手寫,也可以使用 generator 進行快速創建,我們先按照文章的代碼進行編寫。

HelloWorld.cs:

        using System;        public class Program {        public static void Main(string[] args){        Console.WriteLine("Hello World from Core CLR!");        }        }

project.json:

       {            "version": "1.0.0-*",            "dependencies": {            },            "frameworks" : {                "dnx451" : { },                "dnxcore50" : {                    "dependencies": {                        "System.Console": "4.0.0-beta-*"                    }                }            }        }

4. Run the app

在上面我們創建了兩個文件:HelloWorld.cs 和 project.json,這是一個簡單不能再簡單的控制臺應用程序。

首先,轉到這個目錄下:

PS > cd C:/Users/Administrator/.dnx/application_test

然后執行恢復程序包命令:

PS > dnu restore

但是卻出現下面的錯誤:

很明顯,nuget 鏈接不上,從昨天下午到昨天晚上,一直在搞這個,抱著僥幸的心理,希望它有那么一瞬間是好的,但事與愿違,這個服務器是按時按量的,當時買的時候,想買美國的,但是阿里云說已經售罄,沒辦法,只能買的深圳的,今天早上又試了下,還是不行,轉到美國服務器購買頁面上,發現包年包月是可以買的(太無恥了),然后又買了一個月最低配,把深圳那個給釋放掉了。

在美國服務器上,重新運行命令(成功):

運行應用程序:

PS > dnu . run

運行結果:

后續

這篇文章很簡單,但是個開始,也是我最近真正第一次嘗試跨平臺,上面的應用程序是簡單的控制臺,下面計劃用 generator 創建 ASP.NET 5 應用程序試試,然后再在 linux 和 Mac OS X 上搞搞。

就到這!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一性一乱一交一视频| 国产欧美精品一区二区三区介绍| 国产精品白丝jk喷水视频一区| 国产性色av一区二区| 成人精品久久一区二区三区| 欧洲日本亚洲国产区| 91久久久国产精品| 亚洲国内高清视频| 日韩有码片在线观看| 中文字幕欧美精品在线| 欧美电影免费观看高清| 欧洲成人在线视频| 国产精品久久久久久久7电影| 国产精品免费在线免费| 精品性高朝久久久久久久| 亚洲成人精品视频在线观看| 97热精品视频官网| 国产精品www色诱视频| 久久精品视频网站| 日韩av网址在线观看| 国产69精品久久久久久| 91大神福利视频在线| 欧美日韩亚洲系列| 国产99久久精品一区二区| 精品欧美国产一区二区三区| 日本精品视频在线观看| 91大神福利视频在线| 91精品久久久久久久| 久久成人综合视频| 深夜精品寂寞黄网站在线观看| 亚洲欧美色婷婷| 中文字幕成人精品久久不卡| 正在播放欧美一区| 91色视频在线导航| 日韩在线视频免费观看高清中文| 久久精品中文字幕| 国产精品99久久久久久白浆小说| 精品人伦一区二区三区蜜桃网站| 精品国产乱码久久久久久虫虫漫画| 国产91成人在在线播放| 日韩中文字幕在线看| 三级精品视频久久久久| 国产免费久久av| 亚洲最大福利视频网| 久久国产精彩视频| 国产精品女人久久久久久| 国产一区二区激情| 欧美日韩福利在线观看| 久久91精品国产91久久跳| 一区二区三区天堂av| 91sa在线看| 亚洲精品自拍偷拍| 国产精品人成电影在线观看| 久久久久久久999| 国产不卡视频在线| www.午夜精品| 日本免费在线精品| 国产精品日日摸夜夜添夜夜av| 91亚洲精品视频| 国产成人极品视频| 欧美激情a∨在线视频播放| 亚洲变态欧美另类捆绑| 日韩欧美在线播放| 中文字幕欧美日韩在线| 最近的2019中文字幕免费一页| 精品福利在线视频| 最近免费中文字幕视频2019| 亚洲最新在线视频| 国产精品免费在线免费| 日韩av第一页| 亚洲人成网站999久久久综合| 亚洲成人av片在线观看| 国产精品video| 国产成人福利网站| 日韩av在线精品| 日本亚洲欧洲色| 国产啪精品视频| 国产亚洲欧美日韩一区二区| 国产精品日韩欧美大师| 亚洲日韩欧美视频| 欧美精品一二区| 亚洲欧美另类中文字幕| 欧美在线一级va免费观看| 亚洲欧美日韩第一区| 久久综合免费视频| 欧美日韩xxx| 亚洲成人国产精品| 国产成人久久久精品一区| 亚洲国产精品福利| 国产精品成人一区二区| 欧美大码xxxx| 欧美最猛性xxxxx(亚洲精品)| 伊人久久久久久久久久久久久| 久久久久久久久久久av| 日韩成人免费视频| 伊人成人开心激情综合网| 日本亚洲精品在线观看| 91精品综合视频| 亚洲mm色国产网站| 亚洲mm色国产网站| 色一区av在线| 国产欧美久久一区二区| 欧洲成人在线观看| 中日韩美女免费视频网站在线观看| 3344国产精品免费看| 日韩经典中文字幕| 国产精品扒开腿做爽爽爽的视频| 国产精品久久久久久影视| 一区二区三区www| 久久福利视频导航| 欧美日韩激情网| 91精品国产高清久久久久久久久| 久久精品国产久精国产一老狼| 成人中文字幕+乱码+中文字幕| 国产日韩欧美在线看| 日韩亚洲精品视频| 91精品国产自产在线老师啪| 色狠狠久久aa北条麻妃| 亚洲色在线视频| 国产视频精品免费播放| 亚洲国产女人aaa毛片在线| 精品中文字幕久久久久久| 国产一级揄自揄精品视频| 国产精品电影久久久久电影网| 欧美片一区二区三区| 琪琪亚洲精品午夜在线| 亚洲综合一区二区不卡| 国产成人精品一区二区在线| 国产精品手机播放| 91香蕉亚洲精品| 日韩毛片在线看| 亚洲精品国产综合久久| 国产亚洲精品美女久久久| 精品日本高清在线播放| 久久99亚洲精品| 青青久久av北条麻妃海外网| 亚洲精品理论电影| 亚洲欧美国产精品专区久久| 亚洲成人精品视频| 精品久久久久久中文字幕一区奶水| 亚洲国产精品系列| 国精产品一区一区三区有限在线| 亚洲一区二区三区成人在线视频精品| 成人黄色免费片| 亚洲欧美国产精品久久久久久久| 欧美性极品xxxx娇小| 国产精品99一区| 最近中文字幕2019免费| 国产精品日韩在线播放| 亚洲视频免费一区| 精品久久中文字幕| 久久久免费av| 成人妇女淫片aaaa视频| 91精品国产91久久久久久最新| 伊人久久久久久久久久久| 亚洲国产日韩欧美在线图片| 富二代精品短视频| 精品国产一区二区三区四区在线观看| 欧美在线性爱视频| 人妖精品videosex性欧美| 久久精品这里热有精品| 美女福利精品视频| 中文字幕免费国产精品| 久久久久久亚洲精品|