我試圖在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的工作?
我試圖在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的工作?
(剃刀頁使用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複製粘貼我的回答和調整它一下。)
按照Compatibility page on the Mono site MVC4支持與異步功能異常。除非有默認情況下使用async的MVC4框架的一部分,否則如果您已將該模式添加到您的代碼中,那麼這些新功能將只是一個問題。
我修改了VS2010 MVC4項目模板,在Mac上運行Xamarin Studio/MonoDevelop中的zip-out文件Linux:http://www.cafe-encounter.net/p1319/run-asp-net-mvc4-on-mono-monodevelop-on-mac-the-c-template-project。
更新:我在http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor-template-for-mono-on-mac-and-linux做了與筆記.NET 4.5模板MVC4包括鏈接github上。
謝謝!將看看這個:D –
嗯...不是單聲道2.11.4實現異步/等待? 無論如何,在MonoDevelop中啓動一個MVC 3項目也是行不通的。即使在啓動新的MVC 3項目時生成的示例項目也完全編譯(或者它會導致運行時錯誤) –
async/await是C#語言功能,是的,Mono 2.11.4實現它。我正在談論ASP.NET的新異步API。 – knocte
您使用的是哪種版本的MonoDevelop?建議您使用master分支(尚未發佈),因爲它包含來自Google集成的GoogleSummerOfCode學生的一些工作。 – knocte