1

正如他们对 Sharpdevelop 所做的那样,当您在debug模式下启动解决方案时,它会启动应用程序和一个控制台(显示日志)。当您在release模式下启动应用程序时,它只会启动应用程序。

当我使用 Visual Studio Gui 修改文件时,.prj最后一个配置会覆盖debug release模式。

如何将 Visual Studio 配置为具有与 Sharpdevelop 解决方案相同的行为?

4

2 回答 2

2

Visual Studio 项目将应用程序设置组织在三个 PropertyGroup 中。Debug、Release 和一组独立于活动配置的选项。OutputType 在最后一个。

解决方法是简单地自己创建控制台。使用 Application.Startup 事件,如下所示:

public partial class App : Application {
    private void Application_Startup(object sender, StartupEventArgs e) {
#if DEBUG
        AllocConsole();
        Console.WriteLine("Hello world");
#endif
    }

    [System.Runtime.InteropServices.DllImport("kernel32.dll")]
    private static extern bool AllocConsole();
}
于 2012-06-17T19:03:21.867 回答
1

Visual Studio 没有这种行为。

但是,对于 Windows 窗体/WPF 应用程序,它具有输出工具窗口(菜单 View/Output 以显示它)。所有日志、诊断消息和所有调试都显示在那里。

对于控制台应用程序,应用程序将在控制台(终端窗口)中运行是有意义的。

编辑:如果你想到它,你也可以在 VS 中做类似的事情。在项目属性中,转到 Debug 并作为 Start Action 选择 External Program。在那里你可以输入路径

%WINDIR%/system32/cmd.exe /k "调试 e​​xe 的路径"

于 2012-06-17T16:55:04.793 回答