中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-12-23 18:07:34 來源:億速云 閱讀:127 作者:柒染 欄目:大數據

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

最近在了解Asp.net Core 1.0(也可稱為Asp.net5\Asp.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文件。

眾所周知

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

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

通過KoreBuild.cmd文件的最后一行發現在執行Sake.exe 把KoreBulid文件夾 當成 include-dir參數傳進去,

顯式指定Sake要使用的額外shade文件集合。

執行Sake.exe 的參數說明:

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會默認讀取名為makefile.shade的腳本作為Sake首先要執行的腳本,通過-f參數傳入,類似的makefile.shade文件如下

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

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台中市| 亚东县| 肇庆市| 永善县| 井陉县| 旬邑县| 沙坪坝区| 江门市| 神农架林区| 桂林市| 胶州市| 同江市| 萝北县| 镇远县| 济宁市| 哈尔滨市| 宝鸡市| 蒙阴县| 屏山县| 汾阳市| 南阳市| 揭东县| 屏东县| 陵川县| 黎川县| 资溪县| 东安县| 兴业县| 揭阳市| 铜梁县| 芜湖县| 昌黎县| 藁城市| 当雄县| 枣庄市| 敦化市| 巍山| 平武县| 运城市| 柞水县| 兴业县|