【声明:请尊重作者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的更多相关文章

  1. 【.Net Framework 体积大?】不安装.net framework 也能运行!?原理简介-2

    接上一篇 [.Net Framework 体积大?]不安装.net framework 也能运行!?开篇叙述-1 昨天写了一个引子,还是有读者对这套“小把戏”感兴趣.那么不辜负大家的希望,争取博主不做 ...

  2. 【.Net Framework 体积大?】不安装.net framework 也能运行!?原理补充-3

    继续补充点吧.接上一篇,我们实现了.net framework的精简的步骤. 有网友评论了,那个核心的 mscoree.dll 从.net framework 2.0开始,微软开始了新的CLR承载模型 ...

  3. 安装.NET Framework组件时,电脑意外重启后再次安装失败

    因为软件运行环境需要安装.Net Framework,我安装的是2.0sp版本,可以安装过程中计算机意外关闭,重新打开后再次安装却出现安装失败的提示,具体内容是: 产品: Microsoft .NET ...

  4. C# winform程序免安装.net framework在XP/win7/win10环境运行!(转)

    C# winform程序免安装.net framework在XP/win7/win10环境运行!   前文: 首先感谢群里的大神宇内流云 提供的anyexec for windows版本. 经过本人搭 ...

  5. NSIS:判断并安装.NET Framework 4 的例子

    原文 NSIS:判断并安装.NET Framework 4 的例子 现在.NET开发的软件已经大行其道,但有些操作系统并不符合软件的运行要求,所以,我们需要在安装程序中进行.NET Framework ...

  6. Win10无法安装.net framework 3.5出错提示无法安装以下功能该怎么办?

    在Windows操作系统中,.NET Framewor对今天应用程序的成功提供了的安全解决方案,它能强化两个安全模型间的平衡.在提供对资源的访问,以便以完成有用的工作,对应用程序的安全性作细致的控制以 ...

  7. Windows 10 安装 Sql Server 2014 反复提示需要安装 .NET Framework 3.5 SP1 的解决方案

    一.首先安装.NET Framework 3.5: 离线安装方式: 1.装载相对应的系统安装盘,我是Windows 10 x64 企业版,所以装载Windows 10 x64 企业版安装镜像ISO,盘 ...

  8. Entity Framework 教程——安装Entity Framework环境

    安装Entity Framework环境 Entity Framework 5.0 API分布在两个地方,一个可在NuGet包管理器中找到,一个存在于.NET framework中..NET fram ...

  9. 安装.NET Framework进度条卡住不动的解决方案

    VS在安装之前需要安装.NET Framework,我安装的是4.0版本.但是安装进度条到一半左右时就卡住不动了.前前后后重试多次,还有几次重新开机,但都没用. 开始还以为是安装的系统有问题.后来在网 ...

随机推荐

  1. mustache.js使用基本(三)

    作者:zccst 本节要点是子模块(partials)和分隔符(delimiter)等 1,子模块(partials) /* {{>partials}}以>开始表示子模块,如{{> ...

  2. js之动态加载等待图像地址汇总

    Ajax火啊,火到了居然Loading Icons都有很多人专门提供的地步.下面是我同事给我介绍的一些提供Ajax Activity Indicators的网站,共享给大家,以便让我们的Ajax应用具 ...

  3. UIAlertController 自定义输入框及KVO监听

    UIAlertController极大的灵活性意味着您不必拘泥于内置样式.以前我们只能在默认视图.文本框视图.密码框视图.登录和密码输入框视图中选择,现在我们可以向对话框中添加任意数目的UITextF ...

  4. VR元年,VR虚拟现实这只风口上的猪有怎样的变化?

    走过了2016年,无论我们承认不承认,这一年到底是不是VR元年,我们都很难否定,在这一年,VR虚拟现实生态圈有很大的变化,那么,这一年VR虚拟现实到底有怎样的改变呢?我们的VR虚拟现实生态圈,发生了什 ...

  5. innodb引擎redo文件维护

    如果要对innodb的redo日志文件的大小与个数进行调整可以采用如下步骤: 1.关闭mysql mysqladmin -h127. -P3306 -uroot -p shutdown 2.修改配置文 ...

  6. 【转】Linux强大命令 Awk 20分钟入门介绍

    什么是Awk Awk是一种小巧的编程语言及命令行工具.(其名称得自于它的创始人Alfred Aho.Peter Weinberger 和 Brian Kernighan姓氏的首个字母).它非常适合服务 ...

  7. iOS 之 设置控件在视图中心位置

    _qrImgView.bounds = CGRectMake(0, 0, sizeImg, sizeImg); _qrImgView.center = CGPointMake(CGRectGetWid ...

  8. iOS 准备

    iOS 编程知识点 iOS 基础知识点 iOS 之 系统机制 Xcode 使用技巧 Mac 使用技巧 iOS 之 英语 iOS 之 编外知识点 iOS 知识库链接

  9. Delphi操作XML

    Delphi操作XML Delphi操作XMl,只要使用 NativeXml.我是用的版本是4..NativeXML的使用方法比较简单,但是功能很强大. XE2的话,要在simdesign.inc后面 ...

  10. --@ui-router——$state服务原版详解

    $state service in module ui.router.state Description $state service is responsible for representing ...