2010-01-15 57 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#項目中。在這種情況下,你不應該有任何問題(至少我希望如此!)