我正在使用用 F# 编写的 Controller 为 Visual Studio MVC Web 项目构建项目系统。它非常酷。我可以构建和运行应用程序,但我在使用 FSharp 语言服务时遇到了问题。
在编辑器中,它按应有的方式显示语法着色和诊断。有一个问题 - 它不会获取项目引用。即使在构建过程中它会选择它们并成功构建项目,但在屏幕上它会将来自引用的程序集/项目的对象/命名空间显示为未解析。
如果这里有人对与 F# 语言服务集成有一些知识 - 请帮助我使其工作
回复托马斯:
F# Controller 的代码在项目文件中,正如我已经提到的,我可以编译和运行它。最初我们将 F# 代码保存在一个单独的项目中,并且希望摆脱这种额外的复杂性是促使这个项目的原因。它不是一个 ASP.MVC 虽然它是 Bistro MVC .
编辑
BistroMVC 现在在基于 F# project extender 的最新版 Bistro Designer 中解决了这个问题。
最佳答案
您是否将 F# 源代码保留为 Web 项目的一部分?我不确定这对于 ASP.NET MVC 是否可行,但在 ASP.NET WebForms 中是可行的。对于 WebForms 项目,它不能很好地工作(因为 F# 不知道项目上下文)。我相信可以通过像这样的 hacky #if 来克服这个问题:
#if EDITING
#r "Your.Referenced.Library.dll"
#endif
这只会作为对编辑器的提示......但是,在单独的 F# 项目中编写 F# Controller 会更好(如果可能的话)。在那种情况下,你不应该有任何问题(至少我希望如此!)
关于f# - F# 的 Web 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2074622/