所以 Windows 有不同版本的 .net 框架,1.0、1.1、2.0、3.0、3.5 以及特定框架的服务包。 现在我的 Windows 有多个版本的上述框架,令我困惑的是这些是可卸载的还是可安装的?如果我只是将 3.5 或 4.0 与 ASP.NET 和 Visual Studio 一起使用,我可以删除旧版本吗?
还有一个问题,windows依赖.net framework吗?我的意思是,如果我的机器没有任何 .net 框架,它能工作吗? :)
最佳答案
看了答案,感觉题目比较乱,所以尝试给出自己的答案。
首先,您所说的.NET Framework 的版本是什么?事实上,它可能意味着几件事:
添加/删除程序(在 Windows 7 下程序和功能中卸载程序)控制面板项或打开或关闭 Windows 功能列表中的内容。
已安装的组件集。
当您想要安装 .NET Framework 时,您可以从 Microsoft 网站下载可执行安装程序。
CLR。有关更多详细信息,请参阅 Nate Bross 对 simendsjo 在此页面上发布的答案的精彩评论。
根据 .NET Framework 版本的含义,答案会有所不同。
在卸载程序和打开或关闭 Windows 功能中,您可能会找到一两个最新版本。目前,我将 .NET Framework 3.5.1 作为“Windows 功能”,将 .NET Framework 4.0 作为“卸载程序”。我不希望这里有任何其他版本,因为为 .NET Framework 2.0 编译的程序将在装有 .NET Framework 3.5 的机器上运行良好。作为证明,编译一个面向 .NET Framework 2.0 的 Hello World 并启动它:它启动。
在
C:\Windows\Microsoft.NET\Framework
中,您宁愿找到从 1.0.3705 到 4.0 的每个版本。为什么?因为框架的每一个新版本都会在旧版本的基础上增加功能,而不是重写所有内容。在这里,我强烈反对删除目录 v2.0.50727。可能用 Visual Studio 2010 编写并编译为使用 .NET Framework 4.0 运行的最新程序仍然需要 2.0 组件。下载 .NET Framework 安装程序可执行文件时,您不必考虑旧版本,也不必下载从 1.0 到 4.0 的每个版本。只下载最新的,就可以了。
注意:重要的是要了解不同的版本不是独立的,而是对旧版本进行更改或添加某些内容。这就是关于对 .NET Framework 程序集的引用的所有内容。例如,您可能遇到一种奇怪的情况:使用 WCF(WCF 在 .NET 3.0 中发布)的基本应用程序在仅安装了 .NET Framework 2.0 的计算机上运行良好,但仅崩溃尝试执行与 WCF 相关的操作:程序集是按需加载的,因此在您需要 .NET Framework 3.0 的组件之前,将使用旧版本的组件。
希望这能让事情更容易理解。
One more question, Do windows relies on .net framework? I mean can my machine work if it doesn't have any .net framework? :)
操作系统本身不需要 .NET Framework 即可正常运行。但某些组件需要 .NET Framework。正如 ChrisF 所说,Microsoft XPS 查看器/打印机 就是一个例子。 Microsoft Live Writer 是另一个。
关于.NET 框架(可卸载的应用程序?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3124672/