什么是Microsoft.NET Framework,为什么要将其安装在我的PC上?

如果你已经使用Windows很久了,你可能听说过微软的.NET,可能是因为某个应用程序要求你安装它,或者你在安装的程序列表中注意到了它。除非您是开发人员,否则您不需要很多知识就可以使用它。你只需要它起作用就行了。但是,既然我们这些极客喜欢知道一些事情,那就加入我们一起探索.NET是什么,以及为什么这么多应用程序需要它。

NET Framework,解释了

“.NET Framework”这个名称本身有点用词不当。框架(在编程术语中)实际上是应用程序编程接口(Application Programming Interfaces,API)和共享代码库的集合,开发人员可以在开发应用程序时调用这些代码库,这样他们就不必从头开始编写代码。在.NET Framework中,该共享代码库称为框架类库(FCL)。共享库中的代码位可以执行各种不同的功能。例如,假设开发人员需要他们的应用程序能够ping通网络上的另一个IP地址。他们可以使用来自执行该函数的库中的代码,而不是自己编写代码,然后编写所有必须解释ping结果含义的零碎内容。

这只是一个很小的例子。NET Framework包含数以万计的共享代码。这种共享代码使开发人员的工作变得容易得多,因为他们不必在每次应用程序需要执行某些常见功能时都重新发明轮子。相反,他们可以专注于其应用程序独有的代码和将它们捆绑在一起的用户界面。使用这样的共享代码框架还有助于在应用程序之间提供一些标准。其他开发人员可以更容易地理解程序在做什么,应用程序的用户可以依靠诸如打开和另存为对话框这样的功能在不同的应用程序中运行相同的功能。

那么,为什么这个名字用词不当呢?

因为除了充当共享代码的框架之外,.NET还为应用程序提供了运行时环境。运行时环境提供了一个类似虚拟机的沙箱,应用程序在其中运行。很多开发平台都提供了同样的东西。例如,Java和Ruby on rails都提供了自己的运行时环境。在.NET世界中,运行时环境称为公共语言运行时(CLR)。当用户运行应用程序时,该应用程序的代码实际上会在运行时编译成机器码,然后执行。CLR还提供一些其他服务,例如管理内存和处理器线程、处理程序异常和管理安全性。运行时环境实际上是将应用程序从运行应用程序的实际硬件中抽象出来的一种方式。

让应用程序在运行时环境中运行有几个优点。最大的问题是便携性。开发人员可以使用许多支持语言中的任何一种来编写代码,包括C#、C++、F#、Visual Basic等几十种受欢迎的语言。然后,该代码可以在任何支持.NET的硬件上运行。虽然该平台表面上是为支持Windows个人电脑以外的硬件而设计的,但它的专有性质导致它主要用于Windows应用程序。

微软已经创建了其他.NET实现来帮助解决这个问题。Mono是一个免费的开源项目,旨在提供.NET应用程序和其他平台(尤其是Linux)之间的兼容性。NET Core实现也是免费的开源框架,旨在为多个平台带来轻量级、模块化的应用程序。.NET Core旨在为MacOSX、Linux和Windows带来支持(包括对通用Windows平台应用程序的支持)。

正如您可以想象的那样,像.NET这样的框架可以在开发方面带来实实在在的好处。它允许开发人员使用他们喜欢的语言编写代码,并确保代码可以在支持框架的任何地方运行。用户受益于一致的应用程序,而且如果开发人员没有访问框架的权限,许多应用程序可能根本无法开发。

.NET是如何进入我的系统的?

NET Framework的历史有些曲折,多年来已经出现了许多版本。通常,可用的最新.NET版本将包含在每个版本的Windows中。这些版本的目的是向后兼容(因此,如果安装了版本3,那么为版本2编写的应用程序就可以运行),但这并没有起到很好的效果。并不是所有的应用程序都能使用较新的版本。特别是在运行Windows XP和Vista的系统上,你经常会看到一台PC上安装了多个不同版本的.NET。

基本上有三种方式可以安装任何特定版本的.NET Framework:

您的Windows版本可能会将其包含在默认安装中。 需要特定版本的应用程序可能会在其自己的安装过程中安装该版本。 有些应用程序甚至会将您发送到单独的下载站点,以获取并安装特定版本的.NET Framework。

幸运的是,在现代版本的Windows中,事情变得更顺利了。在Windows Vista时代的某个时候,发生了两件重要的事情。首先,发布了.NET Framework3.5。该版本经过修改,包含了版本2和版本3中的组件。如果您只安装了版本3.5,则需要较早版本的应用程序现在可以正常工作。其次,.NET Framework的升级终于开始通过Windows Update交付。

这两件事加在一起,意味着开发人员现在可以很大程度上依赖已经安装了适当组件的用户,而不再需要要求用户执行额外的安装。

相关:Windows10的“可选功能”有哪些功能,以及如何打开或关闭这些功能

当Windows8问世时,一个全新的、完全重新设计的.NET Framework版本4随之而来。版本4(及更高版本)不具备与旧版本的向后兼容性。它的设计使得它可以在同一台PC上与3.5版一起运行。编写到版本3.5和更低版本的应用程序将需要安装版本3.5,而编写到版本4或更高版本的应用程序将需要安装版本4。好消息是,作为一名用户,您真的不必再担心这些安装。Windows几乎可以为您处理所有这些问题。

Windows 8和Windows 10包括3.5和4版(目前的最新版本是4.6.1)。它们是在第一次需要的基础上安装的,所以当你第一次安装需要这些版本之一的应用程序时,Windows会自动添加它。如果您愿意,您可以通过访问Windows的可选功能提前将它们添加到Windows中。您可以选择分别添加3.5版和4.6版。

也就是说,除非您正在开发应用程序,否则没有真正的理由自己将它们添加到您的Windows安装中。第一次安装需要某个可用版本的应用程序时,Windows会在后台为您添加该应用程序。

如果我在使用.NET时遇到问题,我该怎么办?

在现代版本的Windows上,您可能不会遇到.NET本身的问题。由于这两个必需的版本都包含在Windows中,并根据需要进行安装,因此应用程序的安装相当无缝。在较旧版本的Windows(想想XP和Vista)上,您经常需要卸载并重新安装各种版本的.NET才能正常工作。您还必须跳槽,以确保为需要它们的应用程序安装了正确的.NET版本。现在,Windows会为您处理这些事情。

也就是说,如果您有您认为与.NET框架相关的问题,您可以采取以下几个步骤。

相关:如何在Windows中扫描(和修复)损坏的系统文件

首先,您应该确保Windows具有所有最新更新。如果有.NET Framework的更新可用,则可能正好解决您的问题。您还可以尝试从计算机中删除.NET Framework版本,然后重新添加它们。只需点击我们关于添加额外Windows功能的帖子,了解如何添加。如果这两个步骤都不起作用,您可以尝试在Windows中扫描损坏的系统文件。它不需要很长时间,并且可以恢复已损坏或丢失的系统文件。总是值得一试的。

如果这些都不起作用,请尝试下载并运行Microsoft的.NET框架修复工具。该工具支持.NET Framework的所有当前版本。它可帮助您解决安装或更新.NET的常见问题,并可能自动修复您遇到的任何问题。

现在你就知道了。它可能比您想要了解的.NET Framework更多,但是嘿-下次它在聚会上出现时,您可以给您所有的朋友留下深刻印象。

相关文章