1

Sharpdevelop と同様に、debugモードでソリューションを開始すると、アプリケーションとコンソール (ログを表示する) が開始されます。releaseモードでアプリケーションを起動すると、アプリケーションのみが起動します。

.prjVisual Studio Gui を使用してファイルを変更すると、最後の構成がdebug モードをオーバーライドしreleaseます。

Sharpdevelop ソリューションと同じ動作をするように Visual Studio を構成するにはどうすればよいですか?

4

2 に答える 2

2

Visual Studio プロジェクトは、アプリケーション設定を 3 つの PropertyGroups に整理します。デバッグ、リリース、およびアクティブな構成から独立した一連のオプション。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 アプリの場合は、出力ツール ウィンドウがあります (それを表示するための [表示]/[出力] メニュー)。すべてのログ、診断メッセージ、およびすべてのデバッグがそこに表示されます。

コンソール アプリケーションの場合、アプリをコンソール (ターミナル ウィンドウ) で実行するのが理にかなっています。

編集:考えてみれば、VSでもそのようなことができます。プロジェクトのプロパティで、[デバッグ] に移動し、[開始アクション] として [外部プログラム] を選択します。そこにパスを入力できます

%WINDIR%/system32/cmd.exe /k "デバッグ exe へのパス"

于 2012-06-17T16:55:04.793 に答える