.NET 框架(可卸载的应用程序?)

标签 .net asp.net

所以 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 的版本是什么?事实上,它可能意味着几件事:

  1. 添加/删除程序(在 Windows 7 下程序和功能卸载程序)控制面板项或打开或关闭 Windows 功能列表中的内容。

  2. 已安装的组件集。

  3. 当您想要安装 .NET Framework 时,您可以从 Microsoft 网站下载可执行安装程序。

  4. CLR。有关更多详细信息,请参阅 Nate Brosssimendsjo 在此页面上发布的答案的精彩评论。

根据 .NET Framework 版本的含义,答案会有所不同。

  1. 卸载程序打开或关闭 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 并启动它:它启动。

  2. C:\Windows\Microsoft.NET\Framework 中,您宁愿找到从 1.0.3705 到 4.0 的每个版本。为什么?因为框架的每一个新版本都会在旧版本的基础上增加功能,而不是重写所有内容。在这里,我强烈反对删除目录 v2.0.50727。可能用 Visual Studio 2010 编写并编译为使用 .NET Framework 4.0 运行的最新程序仍然需要 2.0 组件。

  3. 下载 .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/

相关文章:

c# - 处理从另一个线程触发的事件的模式

c# - HTTPRequest.Files.Count 永远不会为零

c# - 如何禁用 ContentControl 中的所有绑定(bind)/触发

c# - 在c#中将不同的列表绑定(bind)到datagridview中的列

.net - C# .NET 列出远程文件的内容

c# - 禁用键盘输入到 ASP 文本框

asp.net - 从母版页生成时,<Title> 标签被拆分成多行

c# - 更新 zip 时出现内存不足异常

c# - HTMLAgilityPack 从屏幕读取值

c# - 如何使用response.redirect或response.write在新选项卡中打开页面