我想使用 Daniel Mohl 的 VS2012 F# 和 C# Web 服务模板。但是,我遇到了一个令人沮丧的问题,即无法在脚本文件中使用生成的代码:
namespace FSharpWcfServiceApplicationTemplate
open System
open FSharpWcfServiceApplicationTemplate.Contracts
type Service1() =
interface IService1 with
member x.GetData value =
sprintf "%A" value
member x.GetDataUsingDataContract composite =
match composite.BoolValue with
| true -> composite.StringValue <-
sprintf "%A%A" composite.StringValue "Suffix"
| _ -> "do nothing" |> ignore
composite
我尝试了以下场景,但没有任何运气:
#load Service1.svc.fs
我得到:
Service1.svc.fs(4,6):错误 FS0039:未定义命名空间或模块“FSharpWcfServiceApplicationTemplate”
当我尝试加载 dll 时,就像:
#I "bin/Debug"
#r "Services.dll"
在交互中正确引用了 dll,但我无法打开命名空间 FSharpWcfServiceApplicationTemplate。我还尝试将 fsi 文件添加到 Service1.svc.fs 文件。哪个编译并且可以由 C# 项目使用,但不能在脚本文件中使用。
如何更改此设置,以便可以交互地使用服务代码?
编辑:我不得不承认这是一个重复的问题:但我仍然对解决这个问题的替代方法感兴趣。