麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

ASP.NET5Core與iBoxDB包管理在Linux上快速入門示例

2019-11-14 14:33:30
字體:
來源:轉載
供稿:網友

asp.net 5的一項重要更新是它支持運行在 .NET Execution Environment上 ,簡稱DNX. 而 DNX Core 當前能支持三個操作系統Windows Ubuntu OSX, 雖然Mono在linux上對.NET支持非常好,但DNX引入了方便的包管理還是非常值得一試。java的jar包不內置版本號,可以隨便放在一起,.NET的dll包帶版本號,放到一起時很容易就出現版本號沖突的提示,一般不影響使用。

在Ubuntu Linux上配置 DNX 也非常方便,不需要到網站下載再執行的傳統.NET安裝方式,當然也沒有現代APP商店哪么方便。具體可以看官網,這里把命令行復制過來,在Ubuntu上一行行執行就可以了。

sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'

sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893

sudo apt-get update

sudo apt-get install dotnet

執行完這幾條命令就有了一個dotnet環境,這里必須再提一下mono-complete,當你在DNX Core平臺上被哪些新庫搞暈時,別忘記還有一個Mono。這里是 DNXCore的API幫助,遇上不兼容必查,查得最多的會是Assembly名稱,DNX Core引入先進的包管理,但需要自己加載,對版本號。

前面的install dotnet,它只安裝了一些基本運行環境,所以非常快。下面開始測試。建一個空目錄 dnxcore ,進入,然后執行

dotnet init

這個目錄里面會有一個Hello World模板。傳統.NET程序只有PRogram.cs一個文件, DNX下多了一個project.json文件,這個文件用來根據需要加載包,一般需要修改的是dependencies這段,在里面加入對iBoxDB.DNX 2.6.2.16包的引用,還有FileSystem,Thread。在DNX中,像文件操作,線程類這些基本功能都在單獨的包中。

"dependencies": {  "Microsoft.NETCore.Runtime": "1.0.1-beta-*",  "System.IO": "4.0.11-beta-*",  "System.Console": "4.0.0-beta-*",  "System.Runtime": "4.0.21-beta-*",  "iBoxDB.DNX": "2.6.2.16",  "System.IO.FileSystem" : "4.0.1-*",  "System.Threading.Thread" : "4.0.0-*",  "System.Threading.Tasks.Parallel" : "4.0.0-*"}

 這時確保網絡連接正常,然后執行

dotnet restore

等待它自動在線加載,最后你可能會有提示,有些基礎庫沒有找到。這是因為 Microsoft.NETCore.Runtime 這個基礎運行包版本一變化,它引用的包 Microsoft.NETCore.Runtime.CoreCLR  版本就變化,而Microsoft.NETCore.Runtime.CoreCLR包引用的包的版本也會變化,現在大量包是beta版本,經常升級,在一個正式包與Beta混合的環境下不容易設置對版本,干脆就不設置了,這幾個System.*的包默認都會加載。與傳統.NET Framework一二年發布一個新版本不同,DNXCore的包可是幾星期更新一次,活躍的幾天就更新了,對于喜歡總是引用最新版本的開發人員可能會興奮不斷。你也可以移走Microsoft.NETCore.Runtime, 自己管理基本包的版本,就不會有提示了。如下

"dependencies": {  "System.Collections" : "4.0.10",  "System.Reflection" : "4.0.10",  "System.Reflection.Extensions" : "4.0.0",  "System.Runtime.Extensions" : "4.0.10",  "System.Text.Encoding" : "4.0.10",  "System.Globalization" : "4.0.10",  "System.Threading" : "4.0.10",  "System.IO": "4.0.11-beta-*",  "System.Console": "4.0.0-beta-*",  "System.Runtime": "4.0.21-beta-*",  "iBoxDB.DNX": "2.6.2.16",  "System.IO.FileSystem" : "4.0.1-*",  "System.Threading.Thread" : "4.0.0-*",  "System.Threading.Tasks.Parallel" : "4.0.0-*",}

 dotnet restore 并不會把一堆下載文件放到剛才新建的項目文件目錄內,而是位于用戶Home的 .dnx/packages 目錄下。iBoxDB.DNX 包目錄下有一個測試文件,執行如下命令復制到當前目錄

@ubuntu:~/dnxcore$ cp ../.dnx/packages/iBoxDB.DNX/2.6.2.16/content/iBoxDB26.cs .

打開 Program.cs 復制上兩行測試調用代碼

public class Program{   public static void Main(string[] args)  {     iBoxDB.LocalServer.DB.Root("/tmp/");     Console.WriteLine(iBoxDB.TestHelper.RunALL());  }}

最后執行

dotnet run

就可以看到效果了,不需要執行編譯。不想一行行代碼鍵入,可以在這里下載測試代碼。 dnxcore5 操作與使用在Windows 與 Ubuntu是一樣的,也就是在Windows下也是敲命令行,性能哪個好,你猜?好代碼當然都放在Windows版本下,這里再次提一下Mono。DNX能根據實際用戶情況選擇部署平臺,自動加載關聯包,這些都是不錯的特性,但如果更關心性能,當前Mono運行.NET的性能更好。

 

下面是使用Mono操作的對比。

編譯文件

mcs  /r:/usr/lib/mono/4.5/Facades/System.Runtime.dll /r:/usr/lib/mono/4.5/Facades/System.IO.dll  /r:../.dnx/packages/iBoxDB.DNX/2.6.2.16/lib/iBoxDB.DNX.dll  Program.cs iBoxDB26.cs

設置包路徑,如果DLL不在當前目錄下

export MONO_PATH=../.dnx/packages/iBoxDB.DNX/2.6.2.16/lib

執行

mono Program.exe

 

下面是在Linux DNX中使用Mono Framework執行, 不需要mcs編譯, 自動下載包。需要先設置一個參數

export DOTNET_REFERENCE_ASSEMBLIES_PATH="/usr/lib/mono/xbuild-frameworks" , 

然后運行平臺由 dnx***{} 改為 net45{}

"dependencies": {      "iBoxDB": "2.7.0.3"}, "frameworks": {        "net45": {      "frameworkAssemblies":{        "System.Runtime": "4.0.0",        "System.IO": "4.0.0" }    

dotnet restore

dotnet run

不同系統下的路徑

export DOTNET_REFERENCE_ASSEMBLIES_PATH="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks"

export DOTNET_REFERENCE_ASSEMBLIES_PATH="/usr/local/lib/mono/xbuild-frameworks"

export DOTNET_REFERENCE_ASSEMBLIES_PATH="/usr/lib/mono/xbuild-frameworks"


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久.comav | 国产精品视频一区二区三区四区国 | 免费嗨片首页中文字幕 | 视频在线中文字幕 | 久久国产精品久久久久久久久久 | 蜜桃视频在线入口www | 国产精品视频在线观看免费 | 中文字幕一二三区芒果 | 99在线在线视频免费视频观看 | 最新久久免费视频 | 国产一区二区在线观看视频 | 国产成人羞羞视频在线 | 久久99久久99免费视频 | 成人福利在线播放 | a一级黄色大片 | 欧美日韩精品中文字幕 | 免费a级网站 | 91精品国产777在线观看 | 亚洲字幕av| 91av久久| www中文在线 | 特级黄色一级毛片 | 午夜精品视频在线 | 成人免费一区二区三区在线观看 | 在线视频观看成人 | 成人毛片免费 | 欧美成人理论片乱 | 97久色| 91久久另类重口变态 | 免费在线观看成人网 | 国产午夜精品久久久久婷 | 高清国产在线 | 成人在线视频网 | 斗罗破苍穹在线观看免费完整观看 | 亚洲一级片免费观看 | 久久伊人国产精品 | 欧美一级精品片在线看 | 亚洲成人精品久久久 | 中午字幕无线码一区2020 | 羞羞网站在线观看入口免费 | 无码专区aaaaaa免费视频 |