ASP.NET`、.NET Framework和公共语言运行时(CLR)的区别和用途是什么?
我对ASP.NET`、.NET Framework和公共语言运行时(CLR)的区别和用途是什么?,asp.net,clr,.net-framework-version,Asp.net,Clr,.net Framework Version,我对ASP.NET、.NET Framework和公共语言运行库(CLR)之间的区别有点困惑。如果有人能对这种差异给出一个简单的、要点式的解释,好吗 此应用程序错误页面显示.NET Framework 4.030319和ASP.NET 4.8,但我不确定它们是否为误报 我做了一些搜索,得到的印象是ASP.NET和.NET Framework必须运行相同的版本才能工作?也就是说,它们不能运行彼此的两个不同变体 应用程序错误页中的版本是4.030319,指的是.NET Framework版本,还是C
ASP.NET
、.NET Framework
和公共语言运行库(CLR)
之间的区别有点困惑。如果有人能对这种差异给出一个简单的、要点式的解释,好吗
此应用程序错误页面显示.NET Framework 4.030319
和ASP.NET 4.8
,但我不确定它们是否为误报
我做了一些搜索,得到的印象是ASP.NET
和.NET Framework
必须运行相同的版本才能工作?也就是说,它们不能运行彼此的两个不同变体
应用程序错误页中的版本是
4.030319
,指的是.NET Framework版本
,还是CLR版本
?ASP.NET=您正在进行web开发,并且使用的是.NET代码
.net框架。这是您编写代码所使用的工具集,以及可以“运行+使用”您的.net代码的系统。因此,您可以为桌面编写一些.net代码。您需要+使用.net framework
您可以为web应用程序编写一些.net代码。这就是asp.net。(但同样,它只需要.net framework来工作、运行和执行您编写的代码。因此,.net framework可以说是一个“运行时”
就像说您需要VB6运行时来执行VB6代码,或者说Access运行时来运行并执行ms Access代码和应用程序一样
同样的想法也适用于.net framework。因此,如果要编写asp.net系统(基于web的系统),那么服务器端代码将需要支持并运行.net framework
在所有这些情况下,您在.net(c#,vb.net)中编写的代码被编译为“IL”或所谓的中间语言。一旦发生这种情况,CLR(公共语言运行库)就可以执行该代码
因此,您可以使用.net framework来编写桌面软件。(winforms-(旧版)或更新的WPF系统。(但在这两种情况下,您仍然在编写.net代码,并且在这两种情况下,您仍然需要.net framework来编写并运行该桌面软件。)
如果你说你在写asp.net软件,那么我就知道你在使用.net框架,但是你在写一个基于WEB的应用程序
因此,上面相当多的内容总结了这里的问题
因为你可以编写基于web的软件(asp.net)和桌面软件(winforms或WPF),所以当你与我交谈时,你需要使用适当的术语。如果你说asp.net,那么我知道这是基于web的,我知道你没有使用PHP或其他web系统或所谓的web“堆栈”来创建网站
您可以使用VisualStudio编写桌面软件、web软件,并且在这两种情况下都可以使用所谓的.net框架来实现这一目标
当然,asp.net和基于web的系统与桌面非常不同——就像狗和马是非常不同的一样,当然,基于web的软件与桌面软件是非常不同的——但在这两种情况下,您都可以使用.net framework并编写.net代码
但是,如果使用正确的术语,那么上下文就很重要。如果您使用asp.net,那么显然您没有使用.net framework中的桌面控件,而是使用.net framework中的基于web的控件。(同样,这些控件也大不相同——尽管您在这两种情况下都编写了C#或vb.net代码
至于.net 4.0。他们试图保持事物的兼容性。因此4.0、4.5、4.7等?它们都位于.net 4.0文件夹下。因此,“4.0 bla bla bla bla”在4系列中可能意味着4.0及以上版本。感谢您的解释。这比以前更有意义:)