日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

在Linux和Mac OS X系统上运行.NET

發(fā)布時(shí)間:2023/12/19 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Linux和Mac OS X系统上运行.NET 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

.NET Core運(yùn)行時(shí)已經(jīng)看到了實(shí)現(xiàn)真正的跨平臺(tái)的美好前景,它最終出現(xiàn)在Linux和Mac OS X平臺(tái)上。在上周舉辦的Microsoft Build大會(huì)上,來(lái)自微軟的項(xiàng)目經(jīng)理Habib Heydarian為聽眾分析了這一舉措對(duì)開發(fā)者們所帶來(lái)的益處,并告訴開發(fā)者們?nèi)绾伍_始探索這些新的機(jī)會(huì)。在名為“讓.NET實(shí)現(xiàn)跨平臺(tái)”的一場(chǎng)講座中,Heydarian首先介紹了開發(fā)者如何進(jìn)行一次全新的.NET Core安裝。

\\

首先,所有的.NET代碼都包含在一個(gè)單獨(dú)的文件夾中,而無(wú)需將它安裝在某個(gè)系統(tǒng)級(jí)別的位置。這樣,只要愿意,每個(gè).NET應(yīng)用都可以使用一個(gè)完全不同的編譯版本。并且在Windows系統(tǒng)上進(jìn)行編譯的代碼也能夠在Mac OS X和Linux系統(tǒng)上運(yùn)行。

\\

要在以上系統(tǒng)中運(yùn)行一個(gè)基于命令行的標(biāo)準(zhǔn)HelloWorld程序,可使用以下方式:

\\

./corerun HelloWorld.exe

\\

// corereun是一個(gè)原生的運(yùn)行app的環(huán)境

\\

// 在Windows上,引導(dǎo).NET應(yīng)用的功能已經(jīng)內(nèi)建于操作系統(tǒng)中了

\\

在非Windows平臺(tái)上使用.NET,就意味著開發(fā)者們能夠使用ASP.NET 5、CoreCLR,并且從以下共享的功能中受益了:

\\
  • 運(yùn)行時(shí)組件\\t
  • 64位的JIT編譯器與SIMD指令\\t\t
  • 垃圾回收器?\\t
  • \\t
  • 類庫(kù)\\t
  • 基礎(chǔ)類庫(kù)\\t\t
  • NuGet包?\\t
  • \\t
  • 編譯器\\t
  • .NET編譯器平臺(tái)(Roslyn)\\t
  • \

    如何獲取.NET Core

    \\

    對(duì)于Mac OS X開發(fā)者來(lái)說(shuō),推薦的方式是使用Homebrew以獲取必要的組件。當(dāng)安裝好Homebrew之后,就可以通過(guò)以下命令獲取.NET組件了:

    \\

    brew tap aspnet/dnx
    \brew update
    \brew install dnvm
    \dnx . kestrel

    \\

    Linux用戶可以從該項(xiàng)目的網(wǎng)站上下載一個(gè)包含了所有必要組件的TAR文件,隨后按照以下方式進(jìn)行安裝:

    \\

    tar zxvf PartsUnlimited-demo-app-linux.tar.gz -C ~/
    \source ~/.dnx/dnvm/dnvm.sh
    \dnvm use 1.0.0-beta5-11624 -r coreclr -arch x64
    \dnx . kestrel

    \\

    你一定注意到了一點(diǎn),在這個(gè)兩個(gè)平臺(tái)上所運(yùn)行的最后一條指令都是kestrel的執(zhí)行。Kestrel也正是“跨平臺(tái)的ASP.NET 5 web服務(wù)器”,DNVM則是.NET的版本管理器。目前,該項(xiàng)目只支持64位平臺(tái)的Linux和Mac OS X。開發(fā)團(tuán)隊(duì)仍然在繼續(xù)研究如何讓它支持32位的系統(tǒng)。

    \\

    緊隨Linux和Mac OS X之后,對(duì)FreeBSD的支持最近也加入到該項(xiàng)目中。對(duì)于這三個(gè)平臺(tái)來(lái)說(shuō),目前還存在著一個(gè)限制,那就是從源代碼編譯.NET Core的功能僅限于Windows版本。要從源代碼編譯.NET,開發(fā)者需要首先編譯CoreCLR,然后再編譯CoreFX。

    \\

    正如Windows平臺(tái)上的.NET開發(fā)者能夠利用平臺(tái)調(diào)用(PInvoke)功能一樣,Linux平臺(tái)上的開發(fā)者也能夠使用DLL Import這一命令:

    \\

    [DllImport(“l(fā)ibc”)]
    \private static extern int printf(string format);
    \…
    \Printf(“Hello, //BUILD 2015!\”);

    \\

    下一步計(jì)劃

    \\

    Heydarian在演講余下的部分談到了該團(tuán)隊(duì)下一步的計(jì)劃,以及微軟對(duì)這一項(xiàng)目的目標(biāo)。隨著Visual Studio不斷地?cái)U(kuò)展到非Windows的平臺(tái)上,微軟希望能夠改進(jìn)在這些新環(huán)境中的調(diào)試功能。對(duì)于VS2015來(lái)說(shuō),就是要實(shí)現(xiàn)遠(yuǎn)程調(diào)試。而對(duì)于VS Code來(lái)說(shuō),首先要從實(shí)現(xiàn)本地調(diào)試開始。

    \\

    另一個(gè)改進(jìn)的方向是整體的上線預(yù)備。為了在這方面有所突破,團(tuán)隊(duì)打算整合MSBuild的支持,并消除目前對(duì)Mono在這方面功能的依賴。

    \\

    Heydarian表示,當(dāng).NET在Linux和Mac OS X平臺(tái)上正式發(fā)布,并成為“RTM”版本之后,微軟將做出以下正式的承諾:

    \\
  • .NET Core應(yīng)用能夠在基于Linux的生產(chǎn)環(huán)境中運(yùn)行,包括Docker、本地部署和云端部署\\t
  • 開發(fā)者可以使用VS Code或其它任何喜愛的編輯器,對(duì)運(yùn)行在Mac OS X環(huán)境中的.NET代碼進(jìn)行編輯、編譯與調(diào)試\\t
  • 全部使用無(wú)關(guān)平臺(tái)特性創(chuàng)建的應(yīng)用在Windows與其它平臺(tái)上具有相同的行為\\t
  • .NET Core將把現(xiàn)有.NET云端生態(tài)系統(tǒng)的類庫(kù)也帶到Linux上\\t
  • 微軟對(duì).NET在Linux上的支持、服務(wù)和維護(hù)與其它微軟產(chǎn)品一視同仁\
  • 在你的應(yīng)用中加入對(duì)Linux和Mac OS X的支持

    \\

    微軟將推出一套API可移植性工具,用于對(duì)現(xiàn)有的代碼進(jìn)行分析,找出所需的程序集和目標(biāo)平臺(tái)。目前為止,唯一對(duì)兼容性進(jìn)行了測(cè)試的Linux分發(fā)平臺(tái)是Ubuntu 14.04.2 LTS。雖然沒有明確地表示不支持其它的Linux分發(fā)平臺(tái),但無(wú)法保證在這些平臺(tái)上是否能夠正常運(yùn)行。

    \\

    Heydarian認(rèn)為目前來(lái)看,微軟所提供的.NET與Mono版本相比,所針對(duì)的市場(chǎng)方向并不相同。Haydarian表示:“……雖然[Mono]在移動(dòng)場(chǎng)合的表現(xiàn)優(yōu)秀,但它并不是為服務(wù)器或云端生產(chǎn)環(huán)境的使用場(chǎng)景而設(shè)計(jì)的……”,而.NET Core傾向于在具有高吞吐量、高伸縮性,以及更高的修復(fù)前平均時(shí)間(MTTF)的服務(wù)器環(huán)境中所使用。

    \\

    希望通過(guò).NET即將提供的功能,從跨平臺(tái)方式中受益的開發(fā)者可以首先從VS2015RC中的ASP.NET 5項(xiàng)目模板開始打造及測(cè)試應(yīng)用,并且參考GitHub上的ASP.NET示例應(yīng)用Parts Unlimited。凡是能夠在Windows上的ASP.NET 5中成功運(yùn)行的應(yīng)用,一旦等到.NET Core RTM之后,就能夠無(wú)縫地遷移至Linux平臺(tái)上。

    \\

    查看英文原文:Running .NET on Linux and Mac OS X

    總結(jié)

    以上是生活随笔為你收集整理的在Linux和Mac OS X系统上运行.NET的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。