【声明:请尊重作者micro-chen的原创,抓文章,请添加来源和作者署名。作者保留追责权利.......】
注释:笔者只想通过抛砖引玉的方式,引导大家自己去实行,去探索,毕竟,微软的版本问题也不好说呵呵呵,大家放心,宝宝一定完成接下来的两篇,善始善终。
写在前言
看着日渐没落的.net ,心里多少有了点悲凉。国内的越来越多的新兴公司 都是JAVA 系 PHP系 ...........
嫌弃.net的基本上打着 不开源 体积庞大 性能不高的幌子,将这个优秀的技术抹黑的一无是处。哈哈~
不说那么多废话,直接上干货。(不管以后这个东东发展如何,咱开发个小桌面应用啥的,还是这个最快是不?)
玩.net 语言的,都知道 C#代码写起来真的很舒服,IDE 没得说,全宇宙第一开发神器 visual studio.据说都2017版本了 ,据说MAC版本都粗来了........
但是就这么一个好好的东西,却非得要在客户机/服务器上安装.net framework这个体积庞大的补丁(美名:SDK)........个人分析,微软为了对抗JDK ,于是当时最快的 最可行的方法是模仿JDK。。。。
于是 这个鬼就跟JDK一样了。。。。
偶尔思考一个问题,既然号称无缝跟自家的操作系统集成,微软十几年的时间,为啥没有在Native 方向下重心。即使 .net 作为一个开发SDK 配合 Visual Studio。开发桌面应用的时候,直接生成
原生的 x86/x64平台上的应用不好么?非得把这个臃肿的东西也得让客户机安装。虽然现在都.net framework 4.6时代了。可是你造么?.net 3.5安装体积200多M大小!!!!虽然添加了Linq WCF 什么的,但是一个程序才几百K,SDK大的没谱。在饱受争议后,4.0时代,安装体积确实精简不少,但是实际占用体积还是不少,佩服微软的压缩算法。Cab的压缩方式效率真的惊人。。。。
但是无论怎么说,一个小程序,安装那么庞大的SDK 。自己感觉就是个笑话。而且安装的速度难以忍受!!喝N杯咖啡的时间!!!!微软自己都感觉不好意思了,于是在 Server系列的系统内置.net 。。。
甚至开发个 one click 部署。。。。拜托,能不能做点正事。我没有黑你,喷你的意思啊,确实难以忍受臃肿的体积!!!!
微软就喜欢干这个,好好的东西,非得做得大到每边!据说新版的vs2017,虽然描述的很好,但是全部安装后,体积竟然有30G!!!!!幸好他拆分开了,如果耦合到一起,我认为,我基本确定要放弃这东西了。。。还能不能好好的玩耍。。。。
抱怨完毕,开始进入正题吧,呵呵~上图为证.........成功将体积压缩到13M!!!!!安装时间 用秒计算....(看到这里,读者心里可能开始骂街了,不是不安装么?确实,我欺骗了你,恨我你就看完吧.....)
验证可以运行 Winform /Webform /MVC 项目...............
下面是一个web 项目,使用的是自承载技术(self-hosting)。
上面的演示项目,第一个是winform程序,一个简单的桌面程序。第二个是MVC自承载程序。
运行的原理不用多说,只要.net framework 安装了。那么程序自然运行成功。那么疑问来了。那个12.6M的安装包,真的好使吗?
请看下篇
【.Net Framework 体积大?】不安装.net framework 也能运行!?原理简介-2