【.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版本.但是安装进度条到一半左右时就卡住不动了.前前后后重试多次,还有几次重新开机,但都没用. 开始还以为是安装的系统有问题.后来在网 ...
随机推荐
- input的onchange事件实际触发条件与解决方法
input中onchange事件已经属于元老级别了,并且现在同onclick一样使用频率很高,然而onchange的机制实际上有很多童鞋并不清楚,我们通过实例来分析这个事件的特征. 触发onchang ...
- Cookie的格式及组成
转自:http://blog.csdn.net/talking12391239/article/details/9665185 Cookie由变量名和值组成,类似JavaScript变量.其属性里既有 ...
- java 生成不重复的随机数
import java.text.SimpleDateFormat;import java.util.Date; public class Test2 { public static void mai ...
- memcached命令和配置
转自:http://www.tuicool.com/articles/VJzAvuB 安装配置 首先,编译.安装.配置libevent库,执行如下命令: wget https://github.com ...
- ubuntu apache2 ssl配置
Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥.证书的更多知识,更深的背景 知识还有RSA算法.DES算法.X509规范.CA机构 ...
- C # 产生鼠标点击事件
新建一个WinFrom,找到MouseDown,回车,生成代码如下点击的效果如图 参考文章:http://blog.csdn.net/u012842807/article/details/454143 ...
- reg 正则
//转化为camel形式 var text = 'border-color-base'; text.replace(/-(\w{1})/g, function (match, chr1) { retu ...
- Linux服务器开发/测试环境搭建-流程
1.MariaDB yum 安装/初始化/授远程权限 yum安装 在MariaDB官网根据Linux系统查找您所需要的db版本:https://downloads.mariadb.org/mariad ...
- 交叉验证(cross validation)
转自:http://www.vanjor.org/blog/2010/10/cross-validation/ 交叉验证(Cross-Validation): 有时亦称循环估计, 是一种统计学上将数据 ...
- myeclipse 2014破解
开始安装的时候已经进行了破解,不知道为什么还是会出现问题,按照下面说的才可以了: http://blog.sina.com.cn/s/blog_7f5862570101oxyv.html