.NET 平台、.NET 环境或 .NET 框架哪个是正确的?平台/环境/框架之间有什么区别?
在一些文档(即ECMA-334)中使用“.NET框架”的名称,但在其他文档(在许多书籍中)中,使用“.NET平台”。我看到有人将.NET 称为.NET 环境。
- 哪一个是 .NET 的正确命名法?
- 一般来说,平台/环境/框架之间有什么区别?
添加
不容易看出这三个名称相同,
- 我们不说 Qt 平台,而是说 Qt 框架
- 我们说跨平台是为了表示在许多操作系统上的互操作性,而不是跨框架。
如果人们只是说 .NET 环境、.NET 平台和 .NET 框架的含义相同,只针对 .NET,我可以相信。
In some documents (i.e. ECMA-334) the name of '.NET framework' is used, but in other documents (in many books), '.NET platform' is used. I saw someone refer .NET as .NET environment.
- Which one is correct nomenclature for .NET?
- In general, what's the difference between platform/environment/framework?
ADDED
It's not easy to see that those three names are the same as
- We don't say Qt platform, but we say Qt framework
- We say cross platform to indicate the interoperability upon many OS, but not cross framework.
If people just say .NET environment, .NET platform, and .NET framework as the same meaning only for the .NET, I can buy that.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
它们在语义上是相同的。用法仅取决于使用它的上下文:
使用 .NET 框架(等于 .NET 库)构建代码
代码运行在.NET平台上(在CLR中)
您需要安装.NET环境(.NET框架可再发行组件)
它们都不是唯一的“正确的”,但对于所有场景来说都是正确的。
These are semantically identical. Usage depends only on the context where it is used:
You build code using .NET framework (equals .NET libraries)
The code runs on the .NET platform (in the CLR)
You need to install .NET environment (.NET framework redistributable)
None of them is the only "correct one" while all are correct for all scenarios.
一切都是正确的。它们本质上是同义词。
All are correct. They're essentially synonyms.
不过,我同意,一般做法是将其称为 .NET 框架。
.NET 涵盖了许多在其他生态系统中是单独实体/项目的领域。例如,在 Java 平台上,您可以使用 Spring 或 Struts 等框架构建应用程序。在 .Net 中,您可以使用 ASP.NET MVC,或者说实体框架,但这些本质上都是平台的一部分。将平台视为“不需要额外安装”。
Agreed, although, I'd say general practice is to refer to it as the .NET framework.
.NET covers a lot of areas that in other ecosystems are separate entities/projects. So for example, on the Java platform, you build an app with a framework like Spring or Struts. In .Net you'd use ASP.NET MVC, or say Entity Framework, but those are both inherently part of the platform. Think of platform as "not requiring an additional install".
环境是提供平台需求的通用环境。
架构通常专注于特定的
问题上下文,而框架被设计为完全用于
不同的问题背景。
这是更通用的答案,适用于所有人,但不适用于.Net
Environment is a generic one where the needs for platform is provided.
Architectures are usually focused on specific
problem contexts while frameworks are designed to be used in entirely
different problem contexts.
This is more generic answer which is appicable to all and just not .Net
在查看 Visual Studio 中的项目属性时,我教导它也是关于运行时与开发环境的。但显然这是错误的,正确的答案是 Platform 只是环境的规范,而 Framework 是需要安装的库。
那么;查看项目属性:
[开发环境]平台:项目属性没有要求这个! “VS Installer”就是担心这一点的人。你的项目不会在意![运行时环境]框架:项目属性不要求这个!因为它与开发框架相同,减去任何 SDK 或 IDE 库。您的开发计算机已经拥有它,并且您的部署计算机将单独安装它。平台示例:Windows 10、x64、桌面
运行时示例:.Net Framework、.Net Core、Mono、.Net Standard
项目类型示例:WPF、ASP.Net-core、Xamarin
框架是安装用于支持运行时和项目类型的库/可执行文件。
Looking at project properties in Visual Studio I taught it was about runtime vs. development environment, too. But apparently that is wrong, the correct answer is the Platform is just the specifications of the environment, and Framework is the libraries that need to be installed.
So; looking at project properties:
[development environment] platform: Project properties does not ask for this! "VS Installer" is the one to worry about this. Your projects will not care![runtime environment] framework: Project properties does not ask for this! Since it is the same as development framework minus any SDKs or IDE libraries. Your Dev machine already has it, and your deployment machines will have it installed separately.a platform example: Windows 10, x64, desktop
runtime examples: .Net Framework, .Net Core, Mono, .Net Standard
project type examples: WPF, ASP.Net-core, Xamarin
framework is libraries/executables installed to support runtime and project types.