2013-12-10 40 views
1

我試圖運行this Self Hosting example,使用最新的ServiceStack版本(4.0.3)和最新的Mono/F#(3.2.5)。ServiceStack F#示例啓動失敗

它無法與appHost.Init()一個例外:

{System.IO.FileNotFoundException:找不到找不到虛擬文件文件名: '<> .FSharpSignatureData。'
在ServiceStack.VirtualPath.ResourceVirtualDirectory.CreateVirtualFile(System.String資源名稱)[0x00033]在<> /ServiceStack/VirtualPath/ResourceVirtualDirectory.cs:99} System.IO.FileNotFoundException

同樣不與發生C#示例。

顯然,它會查找某些文件作爲F#程序集中的資源添加,但未映射到物理文件。

回答

1

F#執行一些'元數據緩存',將資源(FSharpSignatureData,FSharpOptimizationData)放入程序集中。這會導致ServiceStack設置虛擬文件系統時出現問題,因爲它想將這些資源映射到實際文件(我認爲)。

您可以通過在構建/編譯步驟中添加標記--nointerfacedata來解決此問題。 (在VS屬性>構建>'其他國旗')

我一直有意將此發佈到GitHub問題頁面。

+0

好吧,我會嘗試檢查標誌是否也適用於最新的Xamarin Studio(我正在使用Mono實現OSX) –