JetBrains Rider未显示C# WPF异常

8xiog9wr  于 2023-01-27  发布在  C#
关注(0)|答案(2)|浏览(451)

我在Rider中用C#编写了一个WPF应用程序。
如果我的程序崩溃,它不会在“运行”选项卡中显示异常。
只有当我调试我的程序时,它才显示这个未格式化的输出:

有没有像Java和IntellijIdea那样显示异常输出(和Console.WriteLine输出)的方法?

kcrjzv8t

kcrjzv8t1#

我现在可以工作了,但我认为这是骑士中的一个bug。
解决方案如下:
1.右键单击项目→属性。
1.在选项卡应用程序→输出类型中,选择“控制台应用程序”而不是“Windows应用程序”。
现在您可以看到输出。

aiazj4mn

aiazj4mn2#

1.下面是bitbonk的attach your app process到父控制台的解决方案,它支持写入控制台。

public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            AttachToParentConsole();
            Console.WriteLine("Begin init");
        }

        private const int ATTACH_PARENT_PROCESS = -1;

        [DllImport("kernel32.dll")]
        private static extern bool AttachConsole(int dwProcessId);
    
        /// <summary>
        ///     Redirects the console output of the current process to the parent process.
        /// </summary>
        /// <remarks>
        ///     Must be called before calls to <see cref="Console.WriteLine()" />.
        /// </remarks>
        public static void AttachToParentConsole()
        {
            AttachConsole(ATTACH_PARENT_PROCESS);
        }
    }

1.要将未处理的异常写入控制台,您应该实现事件AppDomain.UnhandledException(捕获所有.NET项目的未处理异常的点)和Application.DispatcherUnhandledException(对于WPF)。

相关问题