码迷,mamicode.com
首页 > 其他好文 > 详细

初识Sake和KoreBuild

时间:2016-03-22 19:13:01      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

初识Sake和KoreBuild

最近在了解Asp.net Core 1.0(也可称为Asp.net5\Asp.net vNext)的跨平台,发现了两个新的新东西:Sake和KoreBuild(或者已经出了很久)。

通过国内某度查询资料大部分都是复制黏贴来的,几乎没有详细的介绍。

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

KoreBuild可以通过Nuget下载安装。

打开安装的KoreBuild文件夹

技术分享

总所周知

cmd是在windows环境下的执行文件;

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

 

 

那KoreBuild和Sake是什么呢?他们和跨平台有什么关系呢?

首先是Sake

它是Asp.net vNext项目团队小支队的一个周末项目。

由于msbuild对vNext项目的生成编译支持得不是太友好,所以Sake被创建出来。

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

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

技术分享

通过下面Sake的源码可以得知它在windows环境下还是是调用了msbulid.exe,在其他平台使用了xbuild工具进行生成。

技术分享

Sake会设置build.cmd所在的路径为当前命令的执行路径,默认寻找src文件夹下面的项目进行编译

它的项目文件还包括一堆.shade文件,shade文件是Sake生成需要执行的脚本。

技术分享

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

技术分享

通过KoreBuild.cmd文件的最后一行发现在执行Sake.exe 把KoreBulid文件夹 当成 IncudeDocument参数传进去

技术分享

其实KoreBuild会默认读取名为makefile.shade的脚本作为Sake首先要执行的脚本,类似的makefile.shade文件如下

技术分享

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

如果想另外添加需要编译的你的项目文件(不只有src路径下的项目),可以在makefile.shade文件后追加

技术分享

 

 

总结:

    Sake是一款C#的跨平台编译器,可以运行在任何平台环境,以.shade文件(自身包含的或通过调用参数传入的如KoreBuild)为执行脚本对asp.net core项目进行编译,而KoreBuild是协助Sake进行编译的工具。

 

以上有错误的地方还望指出,共同进步!

 

作者:B.it
出处:http://www.cnblogs.com/ImBit/p/5307762.html 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

 

 

初识Sake和KoreBuild

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!