错误FS0193:内部错误:无法加载类型

时间:2016-11-05 08:48:07

标签: f#

我发现有几个,通常是2年和更早的堆栈溢出问题有关此错误。但在检查了其他问题的样本后,这个问题并不重复。其他问题主要是关于具有布局属性的结构。就我而言,代码没什么特别的 - 除了它也会产生这个错误:

[<Struct>]
type Vertex =
    val x : float
    val y : float
    val z : float
    new(_x:float,_y:float,_z:float) = { x = _x; y = _y; z = _z}

[<Struct>]
type Triangle =
    val v0 : Vertex
    val v1 : Vertex
    val v2 : Vertex
    new(_v0:Vertex,_v1:Vertex,_v2:Vertex) = { v0 = _v0; v1 = _v1; v2 = _v2 }

let v0 = Vertex(0.0,0.0,0.0)
let v1 = Vertex(0.0,1.0,0.0)
let v2 = Vertex(1.0,1.0,0.0)

let t0 = Triangle(v0,v1,v2)

最后一行(实例化一个三角形)在fsi中产生错误:

  

错误FS0193:内部错误:无法从程序集'FSI-ASSEMBLY,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'加载类型'Triangle'。

请注意,Vertex(具有浮动成员)按预期工作。 有Vertex成员的三角形没有。

跟进各自的github f#bug,我得到的印象很久以前就有了修复。但我明白了:

  

Microsoft(R)F#Interactive版本14.0.23413.0

我没有尝试它是否在编译的程序集(F#项目)中工作,但我的猜测是,它会工作。

现在问题是:我是否只是做了一些愚蠢的疏忽错误,或者这是一个错误还是结构内禁的结构成员?

0 个答案:

没有答案