【.Net Framework 体积大?】不安装.net framework 也能运行!?开篇叙述-1
【声明:请尊重作者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
【.Net Framework 体积大?】不安装.net framework 也能运行!?开篇叙述-1的更多相关文章
- 【.Net Framework 体积大?】不安装.net framework 也能运行!?原理简介-2
接上一篇 [.Net Framework 体积大?]不安装.net framework 也能运行!?开篇叙述-1 昨天写了一个引子,还是有读者对这套“小把戏”感兴趣.那么不辜负大家的希望,争取博主不做 ...
- 【.Net Framework 体积大?】不安装.net framework 也能运行!?原理补充-3
继续补充点吧.接上一篇,我们实现了.net framework的精简的步骤. 有网友评论了,那个核心的 mscoree.dll 从.net framework 2.0开始,微软开始了新的CLR承载模型 ...
- 安装.NET Framework组件时,电脑意外重启后再次安装失败
因为软件运行环境需要安装.Net Framework,我安装的是2.0sp版本,可以安装过程中计算机意外关闭,重新打开后再次安装却出现安装失败的提示,具体内容是: 产品: Microsoft .NET ...
- C# winform程序免安装.net framework在XP/win7/win10环境运行!(转)
C# winform程序免安装.net framework在XP/win7/win10环境运行! 前文: 首先感谢群里的大神宇内流云 提供的anyexec for windows版本. 经过本人搭 ...
- NSIS:判断并安装.NET Framework 4 的例子
原文 NSIS:判断并安装.NET Framework 4 的例子 现在.NET开发的软件已经大行其道,但有些操作系统并不符合软件的运行要求,所以,我们需要在安装程序中进行.NET Framework ...
- Win10无法安装.net framework 3.5出错提示无法安装以下功能该怎么办?
在Windows操作系统中,.NET Framewor对今天应用程序的成功提供了的安全解决方案,它能强化两个安全模型间的平衡.在提供对资源的访问,以便以完成有用的工作,对应用程序的安全性作细致的控制以 ...
- Windows 10 安装 Sql Server 2014 反复提示需要安装 .NET Framework 3.5 SP1 的解决方案
一.首先安装.NET Framework 3.5: 离线安装方式: 1.装载相对应的系统安装盘,我是Windows 10 x64 企业版,所以装载Windows 10 x64 企业版安装镜像ISO,盘 ...
- Entity Framework 教程——安装Entity Framework环境
安装Entity Framework环境 Entity Framework 5.0 API分布在两个地方,一个可在NuGet包管理器中找到,一个存在于.NET framework中..NET fram ...
- 安装.NET Framework进度条卡住不动的解决方案
VS在安装之前需要安装.NET Framework,我安装的是4.0版本.但是安装进度条到一半左右时就卡住不动了.前前后后重试多次,还有几次重新开机,但都没用. 开始还以为是安装的系统有问题.后来在网 ...
随机推荐
- linux 驱动入门6
看/sys目录经常看到bus device driver class. 这也是网上大量说的驱动驱动模型.这些的关系得熟悉得明白吧.是的.今天我先不整他们的关系.先逐个击破,然后再统一来理清楚他们之间的 ...
- USB自定义HID设备实现-STM32
该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在 #include "usb_desc.h& ...
- 以太网数据包、IP包、TCP/UDP 包的结构(转)
源:以太网数据包.IP包.TCP/UDP 包的结构 版本号(Version):长度4比特.标识目前采用的IP协议的版本号.一般的值为0100(IPv4),0110(IPv6). IP包头长度(Head ...
- 关于ios 推送功能的终极解决
刚刚做了一个使用推送功能的应用 遇到了一些问题整的很郁闷 搞了两天总算是弄明白了 特此分享给大家 本帖 主要是针对产品发布版本的一些问题 综合了网上一些资料根据自己实践写的 不过测试也可以看看 首先要 ...
- stm32 DMA数据搬运 [操作寄存器+库函数](转)
源:stm32 DMA数据搬运 [操作寄存器+库函数] DMA(Direct Memory Access)常译为“存储器直接存取”.早在Intel的8086平台上就有了DMA应用了. ...
- js实现的文章输入检查与测速。
在群里聊天,一个群友求助.说要实现 文章对比输入,出错了标红,正确的标绿. 同时还需要统计正确率. 我一开始以为很容易,结果搞了半天.最后折腾出来了. 这里的思路如下:利用js的数组.将文章和输入的内 ...
- Java中String的split()方法的一些需要注意的地方
public String[] split(String regex, int limit) split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,这里我就不讨论第二个参数( ...
- Swing 窗口的最小化到系统图标与还原
2014年2月26日 13:01:47 一个上午的功夫,终于折腾好了. 上午主要是卡在监听事件的参数问题.当时脑子不好使,忘记事件是自己构造的,傻傻的测试了半天,如何传递窗口的参数 等中午解决的时候, ...
- 解callback嵌套
function checkPassword(username,password,callback){ var pwdHash; var queryStr = 'select * from user ...
- DevExpress控件学习总结(转)
DevExpress控件学习总结 1.Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹 ...