2012-09-23 85 views
12

我試圖在Monodevelop上用Razor設置一個MVC 4(在最差的Caes 3中)。我坐在Mac OS X機器上,使用Mono 2.11.4。用MonoDevelop設置MVC 4(Razor)

它似乎沒有所有程序集所需的。例如System.Web.Helper似乎沒有找到。和MonoDevelop只能找到System.Web.Mvc版本3(選擇NET框架4.5)或版本2(選擇NET Framework 4.0)。有誰知道如何使用Razor獲得MVC 4的工作?

回答

11

(剃刀頁使用Mono的工作,在理論上,與版本2.10.x系列,但你必須與它捆綁微軟的組件到你的Linux機器。)

由於單聲道2.11.1,這些組件現在由於微軟最近開源Razor(在March 2012上),默認捆綁在Mono中。所以:你使用的是正確版本的Mono。

問題在於,正如this blogpost中所解釋的那樣,MVC4依賴於異步ASP.NET API堆棧,該堆棧尚未在Mono中準備好。所以是的,現在你可以在Mono中使用Razor而不需要從Windows部署MS程序集,但是現在你需要堅持使用MVC3而不是4。

(從this other stackoverflow question複製粘貼我的回答和調整它一下。)

+0

嗯...不是單聲道2.11.4實現異步/等待? 無論如何,在MonoDevelop中啓動一個MVC 3項目也是行不通的。即使在啓動新的MVC 3項目時生成的示例項目也完全編譯(或者它會導致運行時錯誤) –

+0

async/await是C#語言功能,是的,Mono 2.11.4實現它。我正在談論ASP.NET的新異步API。 – knocte

+1

您使用的是哪種版本的MonoDevelop?建議您使用master分支(尚未發佈),因爲它包含來自Google集成的GoogleSummerOfCode學生的一些工作。 – knocte

2

按照Compatibility page on the Mono site MVC4支持與異步功能異常。除非有默認情況下使用async的MVC4框架的一部分,否則如果您已將該模式添加到您的代碼中,那麼這些新功能將只是一個問題。

相關問題