如何分析.NET跨平臺中的Sake和KoreBuild

這篇文章給大家介紹如何分析.NET跨平臺中的Sake和KoreBuild,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

為蔚縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及蔚縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站制作、蔚縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

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

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

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

KoreBuild可以通過Nuget下載安裝。

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

首先是Sake

它是Asp.net vNext項目團(tuán)隊中某些人的一個周末項目。

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

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

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

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

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

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

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

也是Sake在執(zhí)行編譯生成時,能夠提供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會默認(rèn)讀取名為makefile.shade的腳本作為Sake首先要執(zhí)行的腳本,通過-f參數(shù)傳入,類似的makefile.shade文件如下

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

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

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

關(guān)于如何分析.NET跨平臺中的Sake和KoreBuild就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

標(biāo)題名稱:如何分析.NET跨平臺中的Sake和KoreBuild
文章分享:http://www.muchs.cn/article4/pdhgoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)頁設(shè)計公司、網(wǎng)站設(shè)計、搜索引擎優(yōu)化、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站