簡體   English   中英

F#/ WPF代碼的編譯

[英]Compilation of F#/WPF code

我在F#/ WPF編程上找到了一些不錯的文章 ,但是似乎沒有教一種編譯/構建代碼以從F#/ WPF生成二進制代碼的方法。

我要使用什么命令/工具來將此代碼生成/編譯為執行二進制文件? 僅運行fscfsi似乎不起作用。

#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

如果要使用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中運行)即可。

運行fsc應該可以。 您需要將--target:winexe命令行參數傳遞給fsc.exe。

有關更多信息,請參見F#編譯器選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM