.NET与ASP.NET与CLR与ASP的区别

53

虽然我知道这些术语,但有时候会忘记它们之间的区别...所以只是为了保留一个参考的地方...感谢大家的回答。


5
你缺少了 VS、Mono、XSP 和 CLI 这些东西。 - user34537
关于斑点狗怎么样?我曾经有一只叫斑点的狗。为什么不问问斑点呢?你也不认识斑点。 - John Saunders
5
现在Spot在哪里,他的CLR在.NET Framework中工作得如何,他比ASP更年长吗?我希望他作为asp.net mvc过得不错 :) - Vishal
6个回答

92
  • ASP,全称Active Server Pages(现在称为ASP经典版),是一种服务器端脚本环境,早于.Net并且与其无关。
    ASP页面通常使用VBScript编写,但也可以使用Windows脚本宿主支持的任何语言编写,如JScript和VBScript,第三方库也提供了对PerlScript等动态语言的支持。

  • .Net 是托管代码和程序集的框架。
    .Net代码可以用任何具有CIL编译器的语言编写。

  • CLR,全称Common Language Runtime,是.Net框架使用的核心运行时环境。
    CLR将CIL代码(以前是MSIL)转换为机器码(由JITter或ngen完成)并执行它。

  • ASP.Net 是建立在.Net上的ASP替代品。
    ASP.Net页面可以使用任何.Net语言编写,但通常使用C#编写。

其他您没有问及的术语:

  • CIL,全称Common Intermediate Language,是所有.Net代码编译后的中间语言。
    CLR执行CIL代码。
  • CLI,全称Common Language Infrastructure,是.Net Framework运行时和行为的开放规范。
  • Mono是CLI的开源实现,可运行.Net程序。
  • ASP.Net MVC是建立在ASP.Net上的MVC框架。

  • 12
    .NET框架是来自Microsoft的软件框架,它包含大量基础类库(用于开发软件的类和功能)。运行您的代码的CLR - Common Language Runtime - 也是.NET框架的一部分。更多信息请参阅维基百科ASP.NET是来自Microsoft的Web应用程序框架,它是.NET框架的一部分。 CLR是通用语言运行时,是执行和运行为其编写的代码的虚拟机。了解更多信息,请参阅维基百科ASP是来自Microsoft的Web脚本语言,早于.NET框架。类似于(较旧版本的)脚本语言PHP。
    ...简而言之。

    5

    .NET - 一种用于Windows机器的软件框架,包含众多库 .NET框架

    ASP.NET - 一个Web应用程序框架,旨在让您使用.NET支持的语言创建Web应用程序 ASP.NET

    CLR - 公共语言运行时 - 一组核心库和托管代码,可从.NET框架中跨越所有.NET支持的语言进行调用 CLR

    ASP - Active Server Pages - 一种服务器端脚本环境,已被ASP.NET取代。它允许您以类似于PHP的方式编写Web应用程序 Active Server Pages


    4

    .NET:库的框架和技术的总称,由C#和VB.NET开发人员(以及其他语言)使用。这是一种“托管”运行时,它编译成可移植的字节码。

    ASP.NET:为使用.NET运行Web应用程序而构建的框架。

    CLR:所有以上内容都在其上运行的运行时。这是.NET代码的“运行时”。

    (经典) ASP:微软的第一个服务器端脚本技术。由于后者具有巨大优势,现在大多已被ASP.NET取代。


    2

    附加内容

    • Mono:.NET的开源版本,适用于Mac和Linux
    • XSP:Mono版的ASP
    • CLI:公共语言基础设施

    0

    .NET与ASP.NET:

    .NET是一个开发者平台,由工具、编程语言和库组成,用于开发(构建和运行)许多不同类型的应用程序,如Web应用程序、Windows表单应用程序、控制台应用程序、WPF应用程序等。

    ASP.NET框架扩展了.NET,用于构建Web应用程序。

    以下是.NET平台包含的一些内容:

    C#、F#和Visual Basic编程语言。
    用于处理字符串、日期、文件/IO等的基本库。
    适用于Windows、Linux、macOS和Docker的编辑器和工具。

    以下是ASP.NET添加到.NET平台的一些内容:

    用C#或F#处理Web请求的基本框架
    用于使用C#构建动态Web页面的Web页面模板语法,称为Razor
    用于常见Web模式(如模型视图控制器(MVC))的库

    https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet#:~:text=ASP.NET%20is%20an%20open,Windows%2C%20macOS%2C%20and%20Docker


    ASP.NET是一种开放源代码的Web应用程序框架,由微软公司开发和维护。它允许开发人员使用多种编程语言(如C#和Visual Basic)来构建动态Web应用程序和Web服务。ASP.NET支持在多个平台上运行,包括Windows、macOS和Docker。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接