如何解决ASP.NET`、.NET Framework 和公共语言运行时 (CLR) 的区别和用途是什么?
我对 ASP.NET
、.NET Framework
和 Common Language Runtime (CLR)
之间的区别有点困惑。如果有人可以对差异进行简单的要点解释,好吗?
此应用程序错误页面显示 .NET Framework 4.030319
和 ASP.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 举报,一经查实,本站将立刻删除。