.Net Core爬坑記(下)

.Net Core的跨平臺(tái)發(fā)布

首先定位到項(xiàng)目的.csproj文件襟诸,然后使用文本編輯器打開司致。在名為<PropertyGroup>的XML父節(jié)點(diǎn)中加入名為<RuntimeIdentifiers>的子節(jié)點(diǎn)鸥昏。

<PropertyGroup>

? ? <OutputType>Exe</OutputType>

? ? <TargetFramework>netcoreapp2.1</TargetFramework>

????<RuntimeIdentifiers>ubuntu.16.04-x64;linux-x64;win-x64;linux-arm</RuntimeIdentifiers>

</PropertyGroup>

這個(gè)<RuntimeIdentifiers>的作用就是告訴編譯器存和,這個(gè)項(xiàng)目可以編譯在哪些平臺(tái)下爽哎。當(dāng)然蜓席,這些平臺(tái)名稱可不是隨意起名的。.Net Core支持的平臺(tái)如下:

Windows:

Windows 7 SP1

Windows 8.1

Windows 10 周年更新(版本 1607)或更高版本

Windows Server 2008 R2 SP1(完全服務(wù)器或服務(wù)器核心)

Windows Server 2012 SP1(完全服務(wù)器或服務(wù)器核心)

Windows Server 2012 R2(完全服務(wù)器或服務(wù)器核心)

Windows Server 2016 或更高版本(完全服務(wù)器倦青、服務(wù)器核心或 Nano Server)

Linux:

.NET Core 2.x 將 Linux 視為一個(gè)操作系統(tǒng)瓮床。?支持的 Linux 分發(fā)都對(duì)應(yīng)有一個(gè) Linux 內(nèi)部版本(根據(jù)芯片體系結(jié)構(gòu))。

以下 Linux 發(fā)行版本/版本支持 .NET Core 2.x:

Red Hat Enterprise Linux 7产镐,6 - 64 位(x86_64?或?amd64)

CentOS 7 - 64 位(x86_64?或?amd64)

Oracle Linux 7 - 64 位(x86_64?或?amd64)

Fedora 28隘庄、27 - 64 位(x86_64?或?amd64)

Debian 9(64 位,arm32)癣亚、8.7 或更高版本 - 64 位(x86_64?或?amd64)

Ubuntu 18.04(64 位丑掺,arm32)、16.04述雾、14.04 - 64 位(x86_64?或?amd64)

Linux Mint 18街州、17 - 64 位(x86_64?或?amd64)

openSUSE 42.3 或更高版本 - 64 位(x86_64?或?amd64)

SUSE Enterprise Linux (SLES) 12 Service Pack 2 或更高版本 - 64 位(x86_64?或?amd64)

Alpine Linux 3.7 或更高版本 - 64 位(x86_64?或?amd64)

有關(guān) .NET Core 2.1 和 .NET Core 2.2 支持的操作系統(tǒng)、發(fā)行版本和版本玻孟、不支持的 OS 版本和生命周期策略鏈接的完整列表唆缴,請(qǐng)參閱?.NET Core 2.1 支持的 OS 版本和?.NET Core 2.2 支持的 OS 版本

macOS:

以下 macOS 版本支持 .NET Core 2.x:

macOS 10.12“Sierra”及更高版本

在指定了目標(biāo)的平臺(tái)后黍翎,下一步就是準(zhǔn)備發(fā)布了面徽。首先,打開命令行工具匣掸,然后利用cd命令進(jìn)入項(xiàng)目.csproj文件所在的路徑趟紊,然后利用dotnet build命令先將項(xiàng)目編譯一遍,編譯完成后會(huì)提示項(xiàng)目的錯(cuò)誤和警告碰酝,如果沒有霎匈,那么運(yùn)行dotnet publish命令進(jìn)行發(fā)布。

dotnet publish?- 將應(yīng)用程序及其依賴項(xiàng)打包到文件夾以部署到托管系統(tǒng)送爸。

用法

dotnet publish [<PROJECT>] [-c|--configuration] [-f|--framework] [--force] [--manifest] [--no-build] [--no-dependencies]

? ? [--no-restore] [-o|--output] [-r|--runtime] [--self-contained] [-v|--verbosity] [--version-suffix]

dotnet publish [-h|--help]

dotnet publish?編譯應(yīng)用程序铛嘱、讀取 project 文件中指定的所有依賴項(xiàng)并將生成的文件集發(fā)布到目錄暖释。?輸出包括以下資產(chǎn):

擴(kuò)展名為 dll 的程序集中的中間語言 (IL) 代碼。

包含項(xiàng)目所有依賴項(xiàng)的 .deps.json 文件弄痹。

.runtime.config.json 文件饭入,其中指定了應(yīng)用程序所需的共享運(yùn)行時(shí),以及運(yùn)行時(shí)的其他配置選項(xiàng)(例如肛真,垃圾回收類型)谐丢。

應(yīng)用程序的依賴項(xiàng),將這些依賴項(xiàng)從 NuGet 緩存復(fù)制到輸出文件夾蚓让。

dotnet publish?命令的輸出可供部署至托管系統(tǒng)(例如服務(wù)器乾忱、電腦、Mac历极、筆記本電腦)以便執(zhí)行窄瘟。?若要準(zhǔn)備用于部署的應(yīng)用程序,這是唯一正式受支持的方法趟卸。?根據(jù)項(xiàng)目指定的部署的類型蹄葱,托管系統(tǒng)不一定已在其上安裝 .NET Core 共享運(yùn)行時(shí)(請(qǐng)注意這句話,太牛逼的感覺)锄列。?有關(guān)詳細(xì)信息图云,請(qǐng)參閱?.NET Core 應(yīng)用程序部署

備注:

從 .NET Core 2.0 開始邻邮,無需運(yùn)行?dotnet restore竣况,因?yàn)樗尚栌羞€原的所有命令隱式運(yùn)行,如?dotnet build?和?dotnet run筒严。?

以長(zhǎng)格式傳遞命令時(shí)丹泉,該命令也支持?dotnet restore?選項(xiàng)(例如,--source)鸭蛙。?不支持縮寫選項(xiàng)摹恨,例如?-s。

執(zhí)行完成后娶视,會(huì)在項(xiàng)目的debug/release目錄中的.netcoreapp2.1文件夾中多出以你指定編譯平臺(tái)為名稱的文件夾晒哄,里面有一個(gè)publish文件夾,這個(gè)就是拷貝到目標(biāo)平臺(tái)執(zhí)行程序的文件夾歇万。下一步,就是拷貝到目標(biāo)平臺(tái)運(yùn)行啦勋陪。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贪磺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诅愚,更是在濱河造成了極大的恐慌寒锚,老刑警劉巖劫映,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異刹前,居然都是意外死亡泳赋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門喇喉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祖今,“玉大人,你說我怎么就攤上這事拣技∏埽” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵膏斤,是天一觀的道長(zhǎng)徐绑。 經(jīng)常有香客問我,道長(zhǎng)莫辨,這世上最難降的妖魔是什么傲茄? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮沮榜,結(jié)果婚禮上盘榨,老公的妹妹穿的比我還像新娘。我一直安慰自己敞映,他們只是感情好较曼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著振愿,像睡著了一般捷犹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冕末,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天萍歉,我揣著相機(jī)與錄音,去河邊找鬼档桃。 笑死枪孩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的藻肄。 我是一名探鬼主播蔑舞,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼嘹屯!你這毒婦竟也來了攻询?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤州弟,失蹤者是張志新(化名)和其女友劉穎钧栖,沒想到半個(gè)月后低零,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拯杠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掏婶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潭陪。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雄妥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畔咧,到底是詐尸還是另有隱情茎芭,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布誓沸,位于F島的核電站梅桩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拜隧。R本人自食惡果不足惜宿百,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洪添。 院中可真熱鬧垦页,春花似錦、人聲如沸干奢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忿峻。三九已至薄啥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逛尚,已是汗流浹背垄惧。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绰寞,地道東北人到逊。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像滤钱,于是被迫代替她去往敵國和親觉壶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容