微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET`、.NET Framework 和公共语言运行时 (CLR) 的区别和用途是什么?

如何解决ASP.NET`、.NET Framework 和公共语言运行时 (CLR) 的区别和用途是什么?

我对 ASP.NET.NET FrameworkCommon Language Runtime (CLR)间的区别有点困惑。如果有人可以对差异进行简单的要点解释,好吗?

此应用程序错误页面显示 .NET Framework 4.030319ASP.NET 4.8,但我不确定它们是否是误报。

我进行了一些搜索,得到的印象是 ASP.NET.NET Framework 必须运行相同的版本才能工作?即,它们不能运行彼此的两个独立变体?

应用程序错误页面中的版本 4.030319 是指 .NET Framework version 还是 CLR version

解决方法

ASP.NET = 您在进行 Web 开发,并且使用 .net 代码。

.net 框架。那是您用来编写代码的一组工具,以及可以“运行 + 使用”您的 .net 代码的系统。因此,您可能会为桌面编写一些 .net 代码。您需要 + 使用 .net 框架。

您可能会为 Web 应用程序编写一些 .net 代码。这就是所谓的asp.net。 (但同样,它只需要 .net 框架来工作、运行和执行您编写的代码。因此,.net 框架可以很像一个“运行时”。

就像说您需要 VB6 运行时来执行 VB6 代码,或者说 Access 运行时来运行 + 执行 ms-access 代码和应用程​​序。

同样的想法也适用于 .net 框架。因此,如果您要编写 asp.net 系统(基于 Web 的系统),那么服务器端代码将需要支持 + 运行 .net 框架。

在所有这些情况下,您在 .net(c#、vb.net)中编写的代码都被编译为“IL”或所谓的中间语言。一旦发生这种情况,CLR(公共语言运行时)就可以/现在执行该代码。

因此您可能会使用 .net 框架来编写桌面软件。 (无论是 winforms -(较旧的),还是较新的 WPF 系统。(但在这两种情况下,您仍在编写 .net 代码,并且在这两种情况下,您仍然需要 .net 框架来编写并运行该桌面软件。

如果你说你在写asp.net软件?那么我就知道您正在使用 .net 框架,但您正在编写一个基于 WEB 的应用程序。

所以,以上总结了这里的问题。

因为您可以编写基于 Web 的软件 (asp.net) 和桌面软件(winforms 或 WPF),所以当您与我交谈时,您需要使用适当的术语。如果您说 asp.net,那么我知道这是基于网络的,我知道您不会使用 PHP 或其他网络系统或所谓的网络“堆栈”来创建该网站。

您可以使用 Visual Studio 编写桌面软件、Web 软件,并且在这两种情况下都可以使用所谓的 .net 框架来实现此目标。

当然,asp.net 和基于 Web 的系统与桌面非常不同 - 所以就像狗和马非常不同,当然基于 Web 的软件与桌面软件也有很大不同 - 但你可以使用 . net 框架并在这两种情况下编写 .net 代码。

但是,通过使用正确的术语,上下文很重要。如果您使用 asp.net,那么显然您不会使用 .net 框架中的桌面控件,而是使用 .net 框架中基于 Web 的控件。 (同样,这些控件有很大的不同——尽管您在这两种情况下都编写了 C# 或 vb.net 代码。

至于 .net 4.0。好吧,他们试图保持兼容性。那么 4.0、4.5、4.7 等等?它们都在 .net 4.0 文件夹下。因此,“4.0 bla bla bla”可以表示 4 系列中的 4.0 及更高版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。