程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .NET跨平台之Sake和KoreBuild

.NET跨平台之Sake和KoreBuild

編輯:關於.NET

 

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

通過國內某度查詢資料大部分都是復制黏貼來的,幾乎沒有詳細的介紹。

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

KoreBuild可以通過Nuget下載安裝。

打開安裝的KoreBuild文件夾

clipboard

總所周知

cmd是在windows環境下的執行文件;

sh是其他OS下的執行文件;

 

 

那KoreBuild和Sake是什麼呢?他們和跨平台有什麼關系呢?

首先是Sake

它是Asp.net vNext項目團隊小支隊的一個周末項目。

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

Sake需要運行在CLR上,而Core CLR可能還不兼容。

如果想運行在Linux上,必需要有Mono(含MonoCLR)的支持。

clipboard[1]

通過下面Sake的源碼可以得知它在windows環境下還是是調用了msbulid.exe,在其他平台使用了xbuild工具進行生成。

clipboard[2]

Sake會設置build.cmd所在的路徑為當前命令的執行路徑,默認尋找src文件夾下面的項目進行編譯

它的項目文件還包括一堆.shade文件,shade文件是Sake生成需要執行的腳本。

clipboard[3]

而KoreBuild,可以說是包含著Sake需要用到的.shade文件的集合。

clipboard[4]

通過KoreBuild.cmd文件的最後一行發現在執行Sake.exe 把KoreBulid文件夾 當成 IncudeDocument參數傳進去

clipboard[5]

其實KoreBuild會默認讀取名為makefile.shade的腳本作為Sake首先要執行的腳本,類似的makefile.shade文件如下

clipboard[6]

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

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

clipboard[7]

 

 

總結:

    Sake是一款C#的跨平台編譯器,可以運行在任何平台環境,以.shade文件(自身包含的或通過調用參數傳入的如KoreBuild)為執行腳本對asp.net core項目進行編譯,而KoreBuild是協助Sake進行編譯的工具。

 

以上有錯誤的地方還望指出。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved