Winforms 使用winform dll运行控制台应用程序(.net CORE)时,控制台未显示(仅显示窗体)

Winforms 使用winform dll运行控制台应用程序(.net CORE)时,控制台未显示(仅显示窗体),winforms,.net-core,dll,visual-studio-2019,Winforms,.net Core,Dll,Visual Studio 2019,编辑: 我在.csproj中添加了folliwing <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> &l

编辑:

我在.csproj中添加了folliwing

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

    <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <TargetFramework>netcoreapp3.0</TargetFramework>
        <UseWindowsForms>true</UseWindowsForms>
    </PropertyGroup>

</Project>

温克斯
netcoreapp3.0
真的
现在可以了

但是只有表格出现了?控制台与窗体一起显示有什么解决方法吗



我之前关于这个话题的问题不清楚。因此,我试图重新定义它

我基本上有一个编写为控制台应用程序(.netcore)的库,我想发布它。 在发布之前,我想创建一个表单,以便任何使用该库的用户都能看到该表单(要求他的竞赛发送用户数据)

/******************发行******************************/

现在,为了创建表单,我添加了System.Windows.Forms的程序集,并在main中编写了基本代码:

但在运行它时,不会显示窗体的预览。。。只有控制台窗口

如果我在.NETFramework的控制台应用程序->为表单和设计添加DLL,然后在main中编写相同的代码,我会得到表单的预览

那么为什么在.NET核心控制台应用程序中不显示它呢

此外,图片中的program.cs文件似乎被图标更改为表单版本。但是点击它会给我一个错误:


那么,如何在.NET CORE console应用程序中添加弹出窗口或表单呢?

您可以尝试以下步骤将控制台与表单一起显示

首先,请在VisualStudio2019中添加一个名为Widows窗体类库的项目。 (请选择.net core 3.0)

第二,请向库中添加表单

public partial class TestForm : Form
    {
        public TestForm()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hello, world");
        }
    }
第三,我们可以将该库添加到.NETCore3.0控制台应用程序中

static void Main(string[] args)
        {
            Console.WriteLine("hello,world");

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new TestForm());
            Console.ReadKey();
        }
最后,我们可以使用以下代码在控制台应用程序中显示窗体和控制台

static void Main(string[] args)
        {
            Console.WriteLine("hello,world");

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new TestForm());
            Console.ReadKey();
        }
结果:


是否要在.net core console应用程序中同时显示窗体和控制台窗口?是的,我想这样做,但无法将控制台与窗体一起显示。