Visual Studio 11 开发人员预览版中的 F# 3.0 出现内部 F# 错误?
我已经安装了 Visual Studio 11 的开发者预览版和 F# 3.0。如果我打开一个 F# 项目,它会打开,没有警告或错误,并且 FSI 正常启动,但只要我通过将代码发送到 FSI(通过上下文菜单 ->“发送到交互式”)开始测试它,我会立即看到以下内容错误消息:
Error FS0193: internal error: Value cannot be null
如果我回退到 VS2010 和 F# 2.0(我在同一台计算机上并行安装了 VS11),它可以正常工作。有什么建议吗?
编辑:很难得出此错误的最小示例,但我发现 FPish 此处。尤其是神秘的消息参数名称:con
。
我花了几个小时试图简化我的程序,但我未能确定代码会失败的行。看起来好像从用法推断的类型存在一些问题:它要么抱怨类型太通用并且不受约束,要么如果我添加一些用法来帮助 F# 确定类型,则会因内部错误而失败。它只发生在非常复杂的上下文中,简单的类型推断案例工作正常......
I have installed the Developer Preview of the Visual Studio 11 along with F# 3.0. If I open a F# project it is opened with no warnings or errors and FSI starts normally, but as long as I start testing it by sending my code to FSI (via contextmenu -> "Send To Interactive") I immediately see the following error message:
Error FS0193: internal error: Value cannot be null
If I fall back to VS2010 and F# 2.0 (I installed VS11 in parallel on the same machine) it works without any problem. Any suggestions?
EDIT: It is difficult to derive a minimal example for this error, but I found that a similar problem was reported on FPish here. Especially the cryptic message Parameter name: con
.
I spent several hours trying to simplify my programm but I failed to identify the line where the code would fail. It looks as if there were some problems with type inferred from usage: it either complains that the type is too generic and not constrained or fails with the internal error if I add some usages to help F# determine the type. It happens only in a really complex context, simple type infererring cases work fine...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试将此作为错误报告发送给 microsoft dot com 上的 fsbugs。 (感谢 Tomas Petricek 在不同的答案中发布了该电子邮件地址。)我认为这将是您目前最好的方法。
You could try sending this as a bug report to fsbugs at microsoft dot com. (Thanks to Tomas Petricek for posting that e-mail address in a different answer.) I think that would be your best approach at this point.