相关疑难解决方法(0)

F#定义/使用同一项目中另一个文件中的类型/模块

希望这很容易.我有一个带有两个文件(Program.fs,Stack.fs)的F#项目(最新的F#CTP).在Stack.fs中,我有一个简单的命名空间和类型定义

Stack.fs

namespace Col

type Stack= 
 ...
Run Code Online (Sandbox Code Playgroud)

现在我尝试通过声明在Program.fs中包含命名空间

open Col
Run Code Online (Sandbox Code Playgroud)

这不起作用,并给我错误"未定义名称空间或模块Col".然而,它是在同一个项目中定义的.我必须遗漏一些明显的东西

f#

69
推荐指数
3
解决办法
2万
查看次数

跨多个文件拆分F#模块

是否可以跨文件拆分F#模块?

根据我所拥有的那本书,但这本书可能已经过时了(F#的基础)

.net f# module

27
推荐指数
4
解决办法
9791
查看次数

F#模块/命名空间错误

我用F#的第一个程序.

我有一个这样的文件:

namespace LanguageMapper.Data


#if INTERACTIVE
#r "System.Data"
#r "System.Data.Linq"
#r "FSharp.Data.TypeProviders"
#endif

open System.Data
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders

module Data = 

    // You can use Server Explorer to build your ConnectionString. 
    type SqlConnection = Microsoft.FSharp.Data.TypeProviders.SqlDataConnection<ConnectionString = @"connstring">
    let db = SqlConnection.GetDataContext()
Run Code Online (Sandbox Code Playgroud)

然后我有另一个这样的文件

namespace LanguageMapper.Program

open Data

module Program = 

[<EntryPoint>]
let main argv = 


    let getLocale x = 
        match x with
        | [|"live"|] -> "live"
        | [|"dev"|] -> "dev"
        | _ -> "local"
Run Code Online (Sandbox Code Playgroud)

open Data我的顶部,我在VS中得到一个红色的波浪形告诉我:

"错误1此声明通过部分限定的路径打开命名空间或模块'Microsoft.FSharp.Data'.调整此代码以使用命名空间的完整路径.此更改将使您的代码更加健壮,因为新的构造被添加到F#和CLI库."

我究竟做错了什么?我只想引用另一个文件.

f#

2
推荐指数
1
解决办法
972
查看次数

标签 统计

f# ×3

.net ×1

module ×1