【问题标题】:What are the differences and the use of the ASP.NET`, .NET Framework and Common Language Runtime (CLR)?ASP.NET`、.NET Framework 和公共语言运行时 (CLR) 的区别和用途是什么?
【发布时间】:2021-05-25 02:13:21
【问题描述】:

我对@9​​87654321@、.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 clr .net-framework-version


    【解决方案1】:

    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及以上。

    【讨论】:

    • 感谢您的解释。它比以前更有意义:)
    猜你喜欢
    • 2015-03-17
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 2016-11-08
    • 1970-01-01
    相关资源
    最近更新 更多