2013-02-10 4 views
1

Я экспериментирую с WPF в F #. В Visual Studio 2012 есть несколько онлайн-шаблонов проектов для этого:printfn и вывод отладки в F # WPF VS2012 project

  • F # & C# Hybrid MVVM. Стандартный C# WPF исполняемый для просмотров и f # lib для остальных.
  • Pure F # MVVM
  • Pure F # Empty

Я начал с первым вариантом, но позже переключился на чистое е # решение. И есть одна проблема, с которой я не могу обойтись.

Я больше не вижу вывод printfn в окне вывода VS. Хотя, если я ставлю точку останова, я вижу, что код достигнут.

Вот пример:

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 

Это App.fs создатель шаблона с одним добавлением - printfn. Выход - ничего.

Интересно, что отличает его. Есть идеи?

ответ

3

Вы можете использовать System.Diagnostics.Debug.WriteLine для записи в окно вывода VS. Должна быть определена константа TRACE, которая по умолчанию используется в Debug.

printfn пишет в stdout, которое является консольным окном в консольном приложении.

+0

Thanks Phil! Это сработало. – Pasho

2

В качестве альтернативы вы можете установить проект как консольное приложение, поэтому у вас будет окно консоли, а также окно WPF, и вы можете использовать printfn, как обычно.

Смежные вопросы