Windows 窗体应用程序和 Windows 窗体应用程序 (.NET Framework) 有啥区别
Posted
技术标签:
【中文标题】Windows 窗体应用程序和 Windows 窗体应用程序 (.NET Framework) 有啥区别【英文标题】:What is the difference between a Windows Forms App and Windows Forms App (.NET Framework)Windows 窗体应用程序和 Windows 窗体应用程序 (.NET Framework) 有什么区别 【发布时间】:2020-12-15 10:32:12 【问题描述】:在 Visual Studio 2019 中创建新项目时,有两个选项可用于创建 Windows 窗体应用程序。这些选项有什么区别?
【问题讨论】:
Introducing .NET 5: “.NET Core 3.0 之后的下一个版本将是 .NET 5”——也就是说,5 既不是 Framework,也不是 Core,只是 .NET @Damien_The_Unbeliever 和 .NET 允许轻松生产 Winforms 应用程序?通过拖放?但是 .NET 会更好、更现代吗? 顾名思义……这是一个“控件”“库”的项目。这将是您创建和存储“自定义控件”并在其他项目中通过Using
声明简单地使用这些“自定义控件”的地方。
我自己没有使用过 core 或 xamarin,而且这个 forest 的名称确实非常令人困惑。在有一个规范问题作为重复关闭之前,请考虑实际发布答案而不是投反对票。这个问题标题是许多(每个?)初学者都会搜索的内容。
这能回答你的问题吗? What's the difference between .NET Core, .NET Framework, and Xamarin?
【参考方案1】:
Windows Forms App(.NET Framework) 是使用 .NET Framework 制作桌面应用程序的类型。 Windows Forms App(.NET) 也是制作桌面应用程序的类型,但它使用 .NET Core(最新版本是 .NET Core 5.0) Windows 控件库项目模板用于创建自定义控件以在 Windows 窗体上使用,就像我们使用工具箱中的按钮一样 开发人员使用 . NET 框架来创建 Windows 桌面应用程序和基于服务器的应用程序。 NET Core 用于创建在 Windows、Linux 和 Mac 上运行的服务器应用程序。
【讨论】:
【参考方案2】:最佳做法是选择“Windows Forms App”进行新开发。
Visual Studio 让开发人员可以选择基于 .NET Framework 或 .NET Core 创建项目。两者都已被 .NET 5 的发布所取代。开发人员仍然可以选择使用 .NET Framework 创建项目,这就是为什么有两种项目类型的原因。
.NET Framework 早于 .NET Core,仅在 Windows 上运行。 .NET Core 被创建为跨平台的,最初不支持 Windows 桌面应用程序。它们分别通过 .NET Framework 4.8 和 .NET Core 3.1 发布。
当 .NET Core 3.0 发布时,Microsoft 开始建议使用 .NET Core 开发新应用程序,无论是哪种类型。 Microsoft 还宣布不会对 .NET Framework 进行进一步的重大更新:
随着 2019 年 9 月发布的 .NET Core 3.0,我们认为所有新 .NET 应用程序都应该基于 .NET Core。支持来自 .NET Framework 的主要应用程序类型,并且我们没有将某些东西移植到那里,推荐使用现代替代品。未来对 .NET 的所有投资都将集中在 .NET Core。
.NET Framework 4.8 将是 .NET Framework 的最后一个主要版本。
来源:.NET Core is the Future of .NET
此外,.NET 5 是 .NET Core 和 .NET Framework 的继任者。从现在开始,只有 .NET:
未来将只有一个 .NET,您将能够使用它来面向 Windows、Linux、macOS、ios、android、tvOS、watchOS 和 WebAssembly 等。
来源:Introducing .NET 5。
【讨论】:
这个答案提供了一些很好的信息,但它缺乏对问题的直接答案。也许可以改进一下。 这应该被标记为答案。【参考方案3】:Windows Forms App (.NET Framework)
是 .NET Framework 4.8 或更早版本。
创建于 2002 年至 2019 年。 https://en.wikipedia.org/wiki/.NET_Framework_version_history
而
Windows Forms App
是 .NET Core 3.0 或更高版本。
创建于 2016 年至 2023 年(预计) https://en.wikipedia.org/wiki/.NET
在 2020 年 11 月 10 日,他们从名称中删除了“核心”一词。例如,以前的版本称为“.NET Core 3.0”,但最新版本现在称为“.NET 6”。
【讨论】:
【参考方案4】:根据我的考虑,这需要更清楚。
如果您想运行以 .Net Framework 为目标的应用程序,您可以使用 Winform (.Net Framework),当您在系统上安装 windows 时会自动安装该应用程序。
另一方面,如果您想使用 Just Winform 应用程序 开发桌面应用程序,这意味着您的目标是必须在您所在的系统上安装最新版本的 .net 核心将运行应用程序,否则,应用程序将无法按预期运行。并且您可能会被要求安装作为目标环境的最新版本的 .net 核心。
您可以在项目的属性下开发应用程序时指定目标框架。
【讨论】:
【参考方案5】:第一个。 .NET Framework 是特定于 Windows 的。
第二个(未提及).NET Core 是跨平台的。
所以你可以选择你想要的。
【讨论】:
虽然 .NET Core 是跨平台的,但我很确定 Windows 窗体应用程序不是。以上是关于Windows 窗体应用程序和 Windows 窗体应用程序 (.NET Framework) 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
Windows 窗体应用程序和 Windows 窗体应用程序 (.NET Framework) 有啥区别
vs2015中的c#windows窗体应用程序怎么使用OpenGL?
使用 WCF 通过 Windows 服务和 Windows 窗体应用程序进行通信