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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET跨平台之Sake和KoreBuild

發(fā)布時(shí)間:2023/12/4 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET跨平台之Sake和KoreBuild 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近在了解Asp.net Core 1.0(也可稱為Asp.net5\Asp.net vNext)的跨平臺(tái),發(fā)現(xiàn)了兩個(gè)新的新東西:Sake和KoreBuild(或者已經(jīng)出了很久)。

通過國內(nèi)某度查詢資料大部分都是復(fù)制黏貼來的,幾乎沒有詳細(xì)的介紹。

只好看源碼,Sake可以到Github查到源碼。

KoreBuild可以通過Nuget下載安裝。

?

那KoreBuild和Sake是什么呢?他們和跨平臺(tái)有什么關(guān)系呢?

首先是Sake

它是Asp.net vNext項(xiàng)目團(tuán)隊(duì)中某些人的一個(gè)周末項(xiàng)目。

由于msbuild對(duì)vNext項(xiàng)目的生成編譯支持得不是太友好,所以Sake被創(chuàng)建出來。

Sake需要運(yùn)行在CLR上。如果Sake想運(yùn)行在Linux環(huán)境下,必需要有Mono(含MonoCLR)的支持。

另外目前CoreCLR還不夠完善,或許在不遠(yuǎn)的將來,我們就可以徹底拋棄Mono了。

通過下面Sake的源碼可以得知它在windows環(huán)境下還是是調(diào)用了msbulid.exe,在其他平臺(tái)使用了xbuild工具進(jìn)行生成。

Sake會(huì)在執(zhí)行命令的當(dāng)前目錄下默認(rèn)尋找名為“src”文件夾,對(duì)該文件夾下面的項(xiàng)目進(jìn)行編譯

Sake自身的項(xiàng)目文件還包括一堆.shade文件,shade文件是Sake生成和編譯需要的執(zhí)行腳本。

而KoreBuild,本身既是一個(gè)Sake的管理工具,可以利用KoreBuild安裝Sake和其他Sake運(yùn)行需要的環(huán)境。

是Sake在執(zhí)行編譯生成時(shí),能夠提供Sake不具備的一部分.shade文件。

打開KoreBuild的安裝路徑,發(fā)現(xiàn)了KoreBuild.cmd文件和KoreBuild.cmd,和一推上面提到的Sake需要用到的shade文件。

眾所周知

cmd是在windows環(huán)境下執(zhí)行的命令文件;

sh是其他OS下的執(zhí)行文件。

通過KoreBuild.cmd文件的最后一行發(fā)現(xiàn)在執(zhí)行Sake.exe 把KoreBulid文件夾 當(dāng)成 include-dir參數(shù)傳進(jìn)去,

顯式指定Sake要使用的額外shade文件集合。

執(zhí)行Sake.exe 的參數(shù)說明:

Usage: Sake [OPTIONS]+ [target]+

Options:
?-v, --verbose ? ? ? ? ? ? ?increase verbosity
?-h, -?, --help ? ? ? ? ? ? show this message and exit
?-f, --file, --makefile=VALUE?read file as a makefile
?-C, --directory=VALUE ? ? ?change current directory
?-I, --include-dir=VALUE ? ?specifies a directory to search for included?files?

另外KoreBuild會(huì)默認(rèn)讀取名為makefile.shade的腳本作為Sake首先要執(zhí)行的腳本,通過-f參數(shù)傳入,類似的makefile.shade文件如下

里面提到的use-standard-lifecycle.shade是包含在Sake項(xiàng)目下的,而k-standard-goals.shade是包含在KoreBuild中。

如果想另外添加需要編譯的你的項(xiàng)目文件(不只是src路徑下的項(xiàng)目),可以在makefile.shade文件后追加

?

?

總結(jié):

??? Sake是一款C#的跨平臺(tái)編譯器,可以運(yùn)行在任何平臺(tái)環(huán)境,以.shade文件(自身包含的或通過調(diào)用參數(shù)傳入的如KoreBuild)為執(zhí)行腳本對(duì)asp.net core項(xiàng)目進(jìn)行編譯,而KoreBuild是輔助Sake進(jìn)行編譯的工具。

?

以上有錯(cuò)誤的地方還望指出。

?

相關(guān)資料:

  • Building future .NET projects is quite pleasant

  • Compiling .NET Core code on Linux/OS X

  • An ASP.NET vNext Build and Repo Structure Braindump


原文地址:http://www.cnblogs.com/ImBit/p/5307762.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注


總結(jié)

以上是生活随笔為你收集整理的.NET跨平台之Sake和KoreBuild的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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