2010-01-15 31 views
3

我正在用用F#编写的控制器构建Visual Studio MVC Web项目的项目系统。它非常酷。我可以构建和运行应用程序,但是我遇到了FSharp语言服务的问题。F的Web项目#

在编辑器中,它显示语法着色和诊断,因为它应该。有一个问题 - 它没有选择项目引用。即使在构建过程中,它可以提取并成功构建项目,但在屏幕上,它将引用的程序集/项目中的对象/名称空间显示为未解决。

如果有人在这里有大约与F#语言服务于一体的一些知识 - 请帮我做它的工作

回应托马斯:

F#的控制器中的代码是在项目文件和我已经提到我可以编译并运行它。最初我们将F#代码保存在一个单独的项目中,并且希望摆脱这种额外复杂性是促成此项目的原因。它不是ASP.MVC,虽然它是Bistro MVC

编辑

BistroMVC现在解决了小酒馆Designer的最新版本,这个问题这是基于F# project extender

+0

VS2008或一些VS2010 Beta? – Brian 2010-01-15 21:29:45

+0

@Brian VS2008。我没有检查它,但它应该适用于2010年以及 – mfeingold 2010-01-15 21:33:00

回答

0

你能描述一下你在更详细做什么的?这是一个“调味品”,还是一个新的项目系统? “项目环境”的其他方面是否得到了回应?例如,如果您的F#代码为

#if DEBUG 
let x = 3 
#else 
let x = 4 
#endif 

当您将VS解决方案从Debug更改为Release时,着色会发生变化吗? (Offhand我不确定是否可以将F#语言服务完全集成到用户定义的项目系统中;如果您想进行更多讨论,可以发送电子邮件至[email protected],我会回复)

+0

我试过这两种方式。我根本无法调味。我也按照你的建议测试了#if,你怀疑它也行不通。我会通过电子邮件发送更多信息给fsbugs – mfeingold 2010-01-16 15:44:23

1

您是否将您的F#源代码作为Web Project的一部分?我不确定这对ASP.NET MVC甚至是可能的,但它可能在ASP.NET WebForms中。使用WebForms项目,它不能很好地工作(因为F#不知道项目上下文)。我相信这是可能的哈克#如果这样来解决这个问题:

#if EDITING 
#r "Your.Referenced.Library.dll" 
#endif 

这只能作为一个暗示,编辑......然而,它是更好的主意(如果可能的话)来写F#控制器在一个单独的F#项目中。在这种情况下,你不应该有任何问题(至少我希望如此!)