簡體   English   中英

在 wpf 應用程序中打開控制台

[英]Open a console in the wpf application

根據本教程,我正在嘗試 go: https://ikriv.com/blog/?p=2470 因此,您使用以下代碼創建了 WPF 應用程序和 program.cs:

class Program
{
    [STAThread]
    public static void Main(string[] args)
    {
        var app = new App();

        app.InitializeComponent();
        app.Run();
    }
}

然后只需更改 Startup 和 Output 類型。

然而,這個解決方案似乎在新的 .NET 5.0 中出現問題,而它在 .NET 框架中運行良好。有沒有辦法在新版本中同樣簡單地做到這一點? 非常感謝。

@納曼庫馬爾。

要打開控制台應用程序,您可以在 WPF 應用程序(.NET 5.0)中手動打開控制台 window。 您可以將AllocConsoleFreeConsole方法添加到 class 並使用它,如下所示:

public partial class MainWindow : Window
    {
        [DllImport("Kernel32")]
        public static extern void AllocConsole();

        [DllImport("Kernel32", SetLastError = true)]
        public static extern void FreeConsole();

        public MainWindow()
        {
            InitializeComponent();
            OutputTextBox.Focus();
            AllocConsole();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var line = OutputTextBox.Text;
            Console.Out.WriteLine(line);
        }
private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            FreeConsole();
        }
  }

羅伯特哈維的評論解決了這個問題。 我使用了本教程( https://ikriv.com/blog/?p=2470 )和 .NET 5.0 我遵循了這個: sdk/5.0/automatically-infer-winexe-output-type )

你不能接受評論,所以我希望我這樣寫總結也沒關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM