日期:2014-05-20  浏览次数:20849 次

[讨论].NET Framework 4.0 部署问题 ----散分,前20名有意义回帖者有份!
众所周知,微软4月12日正式发布Visual Studio 2010和.NET Framework 4,比对一下.NET Framework各主要版本的体积:
2.0 SP2 23.8MB
3.5 SP1 231.5MB
4.0 48.1MB
按照惯例,程序分发包的体积应该是越变越大的,但是我们会发现.NET Framework 4.0安装程序相比之前版本变小了很多,这很让人疑惑,故本人在这里发帖,希望各位对此有研究的技术人员答疑解惑!

问题:
1..net 4.0 到底精简了什么
2..net 4.0能否在不安装低版本框架的情况下保持兼容性

------------------------------------------------------
PS:本人对给分拥有最终解释权!对于灌水、人身攻击、复制回复、答非所问者有权拒绝给分!对于回答满意者有额外酌情加分!

------解决方案--------------------
你说的是.NET Framework 4 Client Profile吧

------解决方案--------------------
这问题完全不需要20楼,我就能清楚回答你:
1 .net 4.0 到底精简了什么 —— 什么也没有精简
2 .net 4.0能否在不安装低版本框架的情况下保持兼容性 ——.NET 4.0必须依赖.NET2.0~3.5
之所以变小,是因为一些可选组件没有包括在安装程序里面,需要按需下载。这样那些已经安装了.NET3.5或者2.0的人只需要较小的安装程序。
------解决方案--------------------
.NET Framework 4.0重新实现并改进了以前版本 .NET Framework 的功能,增加了 Parallel LINQ、Task Parallel Library 等新功能
分为两部分,一部分是常用的功能,称为 Client Profile,另外一部分是不那么常用的扩展功能
------解决方案--------------------
探讨
引用:
这问题完全不需要20楼,我就能清楚回答你:
1 .net 4.0 到底精简了什么 —— 什么也没有精简
2 .net 4.0能否在不安装低版本框架的情况下保持兼容性 ——.NET 4.0必须依赖.NET2.0~3.5
之所以变小,是因为一些可选组件没有包括在安装程序里面,需要按需下载。这样那些已经安装了.NET3.5或者2.0的人只需要较小的安装程序。……

------解决方案--------------------
简单地说,因为Win7的普及,所以没有必要再在安装包里面包括大部分人都不需要的软件。
------解决方案--------------------
开发共享软件推荐delphi,C++这些。

在企业应用中,100MB也好,1000MB也好,算得了什么呢?

一个软件的价值远远高于1GB的存储器价值,高于1GB的网络带宽的价值,一个用很多年的软件也不在乎多2分钟的安装时间。

做软件的应该分清什么才是价值。
------解决方案--------------------
感觉2010是小了。包括SDK才几M。Framework 4.0主要面对操作系统。是w7可能是这个原因。
------解决方案--------------------
不连网络,根本没有那么小,win7系统中有不少东西是预装了的,
------解决方案--------------------
1..net 4.0 到底精简了什么 -------没有精简 而是增加了一下新的东西
2..net 4.0能否在不安装低版本框架的情况下保持兼容性 --------------肯定可以的。
------解决方案--------------------
因为.net4.0 是在2.0,3.5的基础上扩展的,所以他的文件大小比较小,他需要依赖2.0,3.5
------解决方案--------------------
基于以前的版本,东西少一点比较正常。。。
------解决方案--------------------
探讨
开发共享软件推荐delphi,C++这些。

在企业应用中,100MB也好,1000MB也好,算得了什么呢?

一个软件的价值远远高于1GB的存储器价值,高于1GB的网络带宽的价值,一个用很多年的软件也不在乎多2分钟的安装时间。

做软件的应该分清什么才是价值。

------解决方案--------------------
微软发布了 Visual Studio 2010 和 .NET Framework 4.0 的Beta 2测试版,微软往Framework 4.0里又塞了很多新东西,有的确实不错,不过有的还是感觉有点粗糙,还在实验阶段,实用性不强。

  简单回顾下历史,.Net Framework 1.1其实是个试验品,.Net Framework真正走向成熟其实从2.0开始的,之后的Framework 3,Framework 3.5其实都是基于Framework 2的扩充。Framework 3 + Framework 3 SP1除了修正了一些Framework 2的bug之外,主要的扩展是加了3W框架,分别是WPF,WCF,WWF。F3.5和F3类似,在修正之前的Bug之外,主要的扩展是:LINQ,WF,WCF,Add-in(今后会被MEF替代)。Framework 3.5 SP1,又添了几个新东东:MVC,Dynamic Data,Entity Framework,Data Services等。

  当然这里面我们也不能忽略了Framework 3在语言上进行的改进,例如Linq,Lambda,扩展函数,var类型的使用等等。

  那我们看看Framework 4.0又给我们带来了什么?

  .NET Framework 4与 Framework 3.5 SP1并行工作。在旧版的Framework中可以运行的应用程序,将继续能够运行在.NET Framework 4上。

  在Visual Basic和C #语言中有所创新,例如声明lambdas 、隐线continuations 、动态调度、并命名/可选参数等。

  在ADO.NET实体框架中增加了许多新的功能,通过提高抽象层次,从而简化开发人员的关系数据库的程序。这些新功能包括:持续忽略、POCO支持、延迟加载,测试驱动开发的支持、功能模型以及新的LINQ运营商等。

  一、以下是ASP.NET中的改进 :

  改进JavaScript用户界面模板和AJAX中的数据绑定功能;

  改进ASP.NET的图表控制;

  二、以下是WPF中的改进:

  在WPF中增加Windows 7多触控、ribbon控制、任务栏扩展功能支持;

  在WPF中增加Surface 2.0 SDK支持;

  新的业务线控制,包括图表控制,智能编辑,数据网格,以及其他能够提高“建立数据中心的应用程序”的开发者经验的控制。

  提高性能和可扩展性;

  在文字、像素布局、本地化和互操作性中添加可视化改进;

  三、Windows Workflow(WF)中的改进让开发者能够更好地控制工作流程,具体改进如下:

  改善活动规划模型;

  改进设计体验;

  一个新的流程建模方式;

  扩大调色板的活动范围;

  工作流程规则一体化;

  新邮件相关的功能。

  四、.NET框架还为基于WF的工作流程提供重大的性能改进:

  改进Windows通讯基础( WCF )构架,例如流服务相关支持,双向通信的持久性等。

  .NET框架4还提供了新的WCF功能,例如服务发现、路由器服务、简化配置、REST支持、诊断和性能提升等。

------解决方案--------------------


微软这次聪明。。不一下 不管你需要不需要 全部丢给你了

而是先给你一个标准的库包含基本的功能,然后你可以根据需要去下载夸张的库

应该就是这意思
------解决方案--------------------
4.0 是独立的,不依赖之前的
4.0是不兼容之前的版本。
------解决方案--------------------
3.5的核心版本是2.0,其实就是在2.0上面扩展
4.0为独立的,打成一个包,压缩率可以更高,另外,4.0的安装包里面已经包含了x86和x64了,所以算起来和其实2.0安装包差不多大小

另外刚刚帮楼主测试,只安装4.0的机器上是不能跑2.0程序的。不过你只要装了3.5,你可以编译到2.0,3.0,3.5,4.0的任何版本。
------解决方案--------------------
1..net 4.0 到底精简了什么

.NET 3.5SP1的安装包之所以那么大是不可避免的,因为它需要首先升级.NET 2和3的框架到SP2,然后还要把3.5升级到SP1。这种安装的复杂性决定了所有需要附带的文件都需要带上。

.NET 4作为一个全新的版本没有这样的负担。所以严格的来说,只有把.NET 4和.NET 2作比较才是恰当的。这样一看,.NET 4的确比.NET 2大很多,快一倍了。

2..net 4.0能否在不安装低版本框架的情况下保持兼容性

这里要问lz的是你需要什么样的兼容性。据我所知很多程序都是指依赖于特定运行平台的,在app.config或者web.config中就可以找到痕迹。这样的程序不可能说什么都不改直接拿到.NET 4上面运行。对于企业级开发应用,兼容性问题需要特别的测试和程序修正。