初識ASP.NET 5中的Sake與KoreBuild

來源:互聯網
上載者:User

標籤:

從github上籤出基於ASP.NET 5的MVC 6的原始碼進行編譯,發現有2個編譯命令:

build.cmd是針對Windows的編譯命令,build.sh是針對Mac/Linux的編譯命令,這本來沒什麼稀奇,但是開啟這2個檔案一看:

build.cmd:

packages\Sake\tools\Sake.exe -I packages\KoreBuild\build -f makefile.shade %*

build.sh:

mono packages/Sake/tools/Sake.exe -I packages/KoreBuild/build -f makefile.shade "[email protected]"

令人奇怪的是在build.cmd(針對Windows)中沒有使用msbuild,而用的是Sake,更奇怪的是build.sh(針對Mac/Linux)下用的也是Sake,並且都用到了KoreBuild。

Sake是什嗎?KoreBuild又是什嗎?好奇心油然而生。

在github上找到了Sake的老巢 —— https://github.com/loudej/sake

Welcome to Sake, a C# language enabled make system.

原來Sake是用C#編寫的編譯產生工具,或者可以這麼理解:一個C#編寫的開源的msbuild替代品。

那Sake為何而生?

.NET平台上一統江湖的編譯產生工具非msbuild莫屬,但msbuild有個天生的缺點——不能跨平台。而.NET跨平台已經是鐵板DingTalk,跨平台的編譯產生工具必不可用,而開發這樣的跨平台工具成本最低效率最高的方法是用C#開發,於是Sake應運而生。

為了證實是否真的能跨平台,在寫這篇部落格之前我特地在Mac上git簽出MVC 6的原始碼進行編譯:

a) 操作命令

git clone https://github.com/aspnet/Mvccd mvcsh build.sh

b) 編譯產生過程中的部分提示

c) 編譯產生成功之後,在artifacts/build檔案中產生的nuget打包檔案

一次成功!

那KoreBuild是什麼呢?

網上關於KoreBuild的資料幾乎沒有,KoreBuild的身影主要出現在github上ASP.NET 5的相關項目中。

開啟MVC6的packages\KoreBuild\build檔案夾,發現其中主要是一堆的.shade檔案以及kvm命令檔案。

.shade可能是Sake的設定檔,就如.targets(或.csproj)是msbuild的設定檔。

我猜測KoreBuild只是一個針對Sake的編譯組建組態與指令碼的打包。

初識Sake與KoreBuild之後的印象是:作為.NET平台的跨平台編譯產生工具,Sake+KoreBuild讓ASP.NET的跨平台觸手可及。

初識ASP.NET 5中的Sake與KoreBuild

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.