ServiceStack F#示例启动失败

时间:2013-12-10 16:42:14

标签: f# mono servicestack

我尝试使用最新的ServiceStack版本(4.0.3)和最新的Mono / F#(3.2.5)来运行this Self Hosting example

它失败,appHost.Init()上有例外:

  

{System.IO.FileNotFoundException:找不到虚拟文件文件名:'<> .FSharpSignatureData。'
  在ServiceStack.VirtualPath.ResourceVirtualDirectory.CreateVirtualFile(System.String resourceName)[0x00033] in<> /ServiceStack/VirtualPath/ResourceVirtualDirectory.cs:99} System.IO.FileNotFoundException

C#样本不会发生同样的情况。

显然,它会查找在F#程序集中添加为资源但未映射到物理文件的某些文件。

1 个答案:

答案 0 :(得分:1)

F#执行一些“元数据缓存”,将资源(FSharpSignatureData,FSharpOptimizationData)放入程序集中。这会导致ServiceStack设置其虚拟文件系统时出现问题,因为它希望将这些资源映射到实际文件(我认为)。

您可以通过将标志--nointerfacedata添加到构建/编译步骤来解决此问题。 (在VS属性>构建>'其他标志')

我一直想把它发布到GitHub问题页面。