近在了解Asp.net Core 1.0(也可称为Asp.net5Asp.net vNext)的跨平台,发现了两个新的新东西:Sake和KoreBuild(或者已经出了很久)。
  通过国内某度查询资料大部分都是复制黏贴来的,几乎没有详细的介绍。
  只好看源码,Sake可以到Github查到源码。
  KoreBuild可以通过Nuget下载安装。
  那KoreBuild和Sake是什么呢?他们和跨平台有什么关系呢?
  首先是Sake
  它是Asp.net vNext项目团队中某些人的一个项目。
  由于msbuild对vNext项目的生成编译支持得不是太友好,所以Sake被创建出来。
  Sake需要运行在CLR上。如果Sake想运行在Linux环境下,必需要有Mono(含MonoCLR)的支持。
  另外目前CoreCLR还不够完善,或许在不远的将来,我们可以彻底抛弃Mono了。

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

  Sake会在执行命令的当前目录下默认寻找名为“src”文件夹,对该文件夹下面的项目进行编译
  Sake自身的项目文件还包括一堆.shade文件,shade文件是Sake生成和编译需要的执行脚本。

  而KoreBuild,本身既是一个Sake的管理工具,可以利用KoreBuild安装Sake和其他Sake运行需要的环境。
  也是Sake在执行编译生成时,能够提供Sake不具备的一部分.shade文件。

  打开KoreBuild的安装路径,发现了KoreBuild.cmd文件和KoreBuild.cmd,和一推上面提到的Sake需要用到的shade文件。