asp.net 5最大的变化是什么?首当其冲的就是多了很多k,k表示的是asp.net vnext的项目代号“project k”,但很容易让人想到一个汉字——“坑”,希望k不要成为“坑”的缩写。

 

kre,全称是k runtime enviroment(好像有一段时间全称是k runtime engine),它是asp.net 5的运行时环境,是asp.net 5应用程序的执行环境。(它是asp.net 5中最大最重要的一个坑)

 

kvm,全称是k version manager,它是专门针对kre的专用版本管理器,或者说是专用于管理kre这一个包包的包包管理器。它不管理asp.net应用程序的包包,那是由kpm管理的。nuget是一个大家熟知的包包管理器,但nuget自己的版本也是由nuget来管理的。而kvm的存在不是为了解决包管理的问题,而是为了显示kre的地位,kre的至高无上,kre的特权,这是kre的专用vip包厢。(它是用于管理kre这个大坑的版本)

 

kpm,全称是k package manager,它是asp.net 5专用的用于管理nuget包的包包管理器,是asp.net 5应用程序所用的包包管理器。有现成的nuget不用,偏偏搞个kpm,把nuget包装一下,突显自己的与众不同——我是k,我为自己带盐。(它是用于管理kre大坑中的小坑)

 

klr,全称是k language runtime,更准确地说它应该叫k-clr,它是用于加载clr的,见下图。运行asp.net程序的前提是先要加载clr,asp.net 5之前是iis帮你干了,现在如果是self hosting,就需要klr帮你干。(它是把clr放到kre这个大坑中)

 

k,全称是k command,它是一个命令,是kre的入口,通过它启动kre并执行asp.net 5应用程序。(它是kre这个大坑的入口)