1

F# で WPF を試しています。Visual Studio 2012 には、そのためのオンライン プロジェクト テンプレートがいくつかあります。

  • F# と C# のハイブリッド MVVM。ビュー用の標準 C# WPF 実行可能ファイルと残りの f# ライブラリ。
  • 純粋な F# MVVM
  • ピュア F# エンプティ

最初のオプションから始めましたが、後で純粋な f# ソリューションに切り替えました。そして、私が回避できない問題が1つあります。

VS 出力ウィンドウに printfn の結果が表示されなくなりました。ブレークポイントを設定すると、コードに到達することがわかります。

以下にサンプルを示します。

module MainApp
open System
open System.Windows
open System.Windows.Controls
open FSharpx

type MainWindow = XAML<"MainWindow.xaml">

let loadWindow() =
    let window = MainWindow()

    printfn "%s" "Test"

    window.Root

[<STAThread>]
(new Application()).Run(loadWindow()) |> ignore

これは、printfn を 1 つ追加したテンプレートによって作成された App.fs です。出力 - 何もありません。

何が違うのかしら。何か案は?

4

2 に答える 2

3

System.Diagnostics.Debug.WriteLineを使用して、VS 出力ウィンドウに書き込むことができます。TRACE定数を定義する必要があります。これは、Debug のデフォルトです。

printfnは、コンソール アプリケーションのコンソール ウィンドウである stdout に書き込みます

于 2013-02-10T17:56:59.530 に答える
2

または、プロジェクトをコンソール アプリケーションとして設定することもできます。これにより、コンソール ウィンドウと WPF ウィンドウが表示され、通常どおり printfn を使用できます。

于 2013-02-10T21:03:52.810 に答える