Компиляция кода F # / WPF - PullRequest
       4

Компиляция кода F # / WPF

1 голос
/ 25 августа 2011

Я нахожу хороший пост по программированию на F # / WPF, но, похоже, он не учит способу компиляции / сборки кода для создания двоичного кода из F # / WPF.

Какую команду / инструмент я использую для сборки / компиляции этого кода в исполняемый двоичный файл?Просто запуск fsc или fsi не работает.

#light 
#I @"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0"
#r @"WindowsBase.dll"
#r @"PresentationCore.dll"
#r @"PresentationFramework.dll"

open System
open System.Windows

(* From Chap 1 - SayHello.cs *)

let win = new Window()
win.Title <- "Say Hello"
win.Show()

#if COMPILED
[<STAThread()>]
do
     let app =  new Application() in    
     app.Run() |> ignore
#endif

Ответы [ 2 ]

6 голосов
/ 25 августа 2011

Если вы хотите скомпилировать код, используя fsc, вам нужно удалить команды #I и #r и использовать вместо них аргументы командной строки компилятора. Команда #light больше не требуется, поэтому вы можете просто удалить первые 5 строк. В дополнение к ссылкам #r мне также пришлось добавить System.Xaml.dll (что, вероятно, является новым в .NET 4)

Затем вы можете скомпилировать его, используя что-то вроде:

fsc.exe -r:WindowsBase.dll -r:PresentationCore.dll -r:System.Xaml.dll
        -r:PresentationFramework.dll --target:winexe Main.fs

Выполнение кода в fsi.exe должно работать нормально (после добавления #r "System.Xaml.dll"). Просто скопируйте код и вставьте его в F # Interactive (запущенный либо в консоли, либо в Visual Studio IDE).

1 голос
/ 25 августа 2011

Запуск FSC должен работать.Вам нужно передать аргумент командной строки --target: winexe в fsc.exe.

Подробнее см. F # Опции компилятора .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...