项目输出类型未更改为控制台应用程序,控制台 window 未显示在 WinForms 中
Project output type not changing to console application, Console window not showing in WinForms
我正在 .NET Core 项目上开发 Windows Forms,需要显示控制台 window 并使用 Console.WriteLine()
打印一些信息。
我通常在 winform 项目中通过 属性 通过 Project >> [my project name] Properties
将输出类型更改为“控制台应用程序”来执行此操作,但在我保存后它目前正在变回“Windows 应用程序”它并打开设置。
为什么会这样?我该如何解决这个问题?
我也试过从项目文件中删除 <UseWindowsForms>true</UseWindowsForms>
,这使问题变得更糟。
有 2 个想法:
Program.cs
的主要方法发生变化:删除与表单相关的代码行。按 Console.WriteLine("bar");
更改
- 您仍然将信息与 Windows 表单一起打印到控制台。
只需将
Console.WriteLine("foo");
或其他内容放入 Program.cs
的主要方法即可。
我终于设法使用这段代码强制显示控制台 window,
public Form1()
{
InitializeComponent();
//Added this call
AllocConsole();
}
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
我正在 .NET Core 项目上开发 Windows Forms,需要显示控制台 window 并使用 Console.WriteLine()
打印一些信息。
我通常在 winform 项目中通过 属性 通过 Project >> [my project name] Properties
将输出类型更改为“控制台应用程序”来执行此操作,但在我保存后它目前正在变回“Windows 应用程序”它并打开设置。
为什么会这样?我该如何解决这个问题?
我也试过从项目文件中删除 <UseWindowsForms>true</UseWindowsForms>
,这使问题变得更糟。
有 2 个想法:
Program.cs
的主要方法发生变化:删除与表单相关的代码行。按Console.WriteLine("bar");
更改
- 您仍然将信息与 Windows 表单一起打印到控制台。
只需将
Console.WriteLine("foo");
或其他内容放入Program.cs
的主要方法即可。
我终于设法使用这段代码强制显示控制台 window,
public Form1()
{
InitializeComponent();
//Added this call
AllocConsole();
}
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();