.NET Core - 有没有办法实现WinForms?

Tom*_*Tom 5 .net c# winforms .net-core discord.net

我目前正在使用Discord.NET为discord服务器制作机器人,我想为此而不是控制台创建一个WinForm.有没有办法将WinForms实现到.NET Core应用程序?

Rez*_*aei 20

从.NET Core 3.0开始,您可以使用.NET Core创建Windows窗体应用程序.

  1. 安装Visual Studio 2017 Update 15.8或更高版本
    [ Visual Studio下载站点.]
  2. 安装最新的.NET Core 3.0 SDK
    [ 每日构建(最新更改,但不太稳定)预览(更稳定,推荐) ].

  3. 打开命令提示符并运行以下命令来创建项目:

    dotnet new winforms -o MyWinFormsApp
    
    Run Code Online (Sandbox Code Playgroud)
  4. 要构建和运行项目,您可以转到创建项目的目录,并MyWinFormsApp.csproj使用Visual Studio 打开,构建并运行它.

    如果您希望从命令行构建和运行,也可以运行以下命令:

    cd MyWinFormsApp
    dotnet build
    dotnet run
    
    Run Code Online (Sandbox Code Playgroud)

注意

  • 目前,Visual Studio中不提供项目模板.
  • 目前,它不支持可视化表单设计器.

相关链接

  • @FalcoAlexander否,但通过查看[.NET Core路线图上的WinForms](https://github.com/dotnet/winforms/blob/master/roadmap.md),似乎是最终版本(或更新)最终版本之后)的VS2019将包括它们。 (2认同)

Chr*_*her 1

编辑:自从我在 2017 年 9 月写下这篇文章以来,现实已经发生了变化。从 .NET Core SDK 3 开始,Windows 窗体支持已重新添加到. 它不具有 .NET Core 许多其他部分的平台独立性,并且 .NET Framework 和 .NET Core WinForms 代码之间的转换需要转换工具。但它就在那里。

不,不是真的。.NET Core 是从更大的 .NET Framework(包括 Windows 窗体)中特定选择的类。Windows Forms 是他们(必须)为了制作更小的 .NET Core 而删除的东西之一。

最后我发现,.NET Core 支持 UWP(WPF 的后续版本)、Xamarin 和 ASP.Net 5(Core 版本)。UWP 和 Xamarin 可能适合桌面应用程序: