【问题标题】:Display a message in the output window when in non-debug mode (.NET 5)在非调试模式下(.NET 5)在输出窗口中显示一条消息
【发布时间】:2021-04-28 06:00:06
【问题描述】:

通常在编写代码(图形应用程序 WPF)时,需要检查对象的值并将其显示在控制台上。请注意,我们谈论的是没有调试的模式(CTRL + F5)。在调试模式下,有很多工具可以做到这一点,包括 Debug.WriteLine() 或 Trace.WriteLine()。但是也不是每次都需要调试,更多的时候,在编写过程中,需要不调试就运行应用程序,只是检查一些东西并在控制台中显示。

使用 .NET Framework 4.8,我能够选择一个“控制台应用程序”(属性 - 应用程序 - 控制台应用程序)并使用旧的 Concole.WriteLine 享受控制台的任何输出。但是,我切换到 .NET 5,令我惊讶的是,我发现我无法选择“控制台应用程序”并显示我感兴趣的信息。此外,在非调试模式下,VS2019 输出窗口中不会显示消息(调试常量已定义)。

是的,我知道所有这些可能性都存在于调试模式 (F5) 中,但是,我并不总是想运行它来检查对象的状态。使用 .NET 5(输出窗口或控制台)时,以非调试模式 (CTRL + F5) 在屏幕上显示技术信息的方法有哪些?是否有可能为此目的进行扩展?谢谢。

【问题讨论】:

  • 调试模式用于调试,非调试模式不用于调试。那么为什么你使用调试模式呢?你有什么问题?
  • 你用的是哪个版本的VS2019?
  • VS2019版本为16.8.4。我并不总是需要在调试模式下显示信息。例如,当我对两个值求和时,比如 byte i = 2;字节 j = 3;字节 x = i + j;我只需要检查数字是x。是的,我可以使用 MessageBox.Show(),但是如果有很多堆栈怎么办。

标签: c# console visual-studio-2019 message .net-5


【解决方案1】:

将输出类型设置为“控制台应用程序”后,您还需要将其添加到项目(.csproj)中。

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

更多详情,请参考OutputType set to WinExe for WPF and WinForms apps

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多