[英]F# and C# Web Service cannot open namespace
我想使用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#项目使用,但不能在脚本文件中使用。
如何更改此设置,以便可以交互使用服务代码?
编辑:我必须承认这是一个重复的问题 :但我仍然对解决此问题的替代方法感兴趣。
我已经创建了一个基于上面模板的示例项目,该模板通过引用脚本文件解决了该问题。 基本上,您可以为每个加载本地fs文件和依赖项的项目创建一个fsx文件。 然后您可以将此fsx文件加载到另一个从属项目的fsx文件中,依此类推。
示例代码可以在这里找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.