Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在Mono中使用Razor_Asp.net_Asp.net Mvc 3_Mono_Razor - Fatal编程技术网

Asp.net 在Mono中使用Razor

Asp.net 在Mono中使用Razor,asp.net,asp.net-mvc-3,mono,razor,Asp.net,Asp.net Mvc 3,Mono,Razor,我已经玩了几天Mono和ASP.NETMVC3了。它几乎可以正常运行。 当我评论或删除使用ViewBag的行时,效果很好。 但当我想使用ViewBag时,它会给出一个例外 Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo:Create(Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags,字符串)中的IL代码无效:方法体为空 说明:HTTP 500。处理请求时出错 堆栈跟踪: System.

我已经玩了几天Mono和ASP.NETMVC3了。它几乎可以正常运行。
当我评论或删除使用ViewBag的行时,效果很好。
但当我想使用ViewBag时,它会给出一个例外

Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo:Create(Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags,字符串)中的IL代码无效:方法体为空

说明:HTTP 500。处理请求时出错

堆栈跟踪:

System.InvalidProgramException: Invalid IL code in Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo:Create (Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags,string): method body is empty.  

NerdDinnerV3.Controllers.HomeController.Index () [0x0000a] in /home/telebovich/Projects/EmptyMvc2Application/EmptyMvc2Application/Controllers/HomeController.cs:13 at (wrapper dynamic-method) object.lambda_method     (System.Runtime.CompilerServices.Closure,System.Web.Mvc.ControllerBase,object[]) <IL 0x00006, 0x0002f>
at System.Web.Mvc.ActionMethodDispatcher.Execute (System.Web.Mvc.ControllerBase,object[]) <IL 0x00008, 0x0001b>
at System.Web.Mvc.ReflectedActionDescriptor.Execute (System.Web.Mvc.ControllerContext,System.Collections.Generic.IDictionary`2<string, object>) <IL 0x00072, 0x00103>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (System.Web.Mvc.ControllerContext,System.Web.Mvc.ActionDescriptor,System.Collections.Generic.IDictionary`2<string, object>) <IL 0x00003, 0x00019>
at System.Web.Mvc.ControllerActionInvoker/<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12 () <IL 0x0002d, 0x00068>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter (System.Web.Mvc.IActionFilter,System.Web.Mvc.ActionExecutingContext,System.Func`1<System.Web.Mvc.ActionExecutedContext>) <IL 0x00031, 0x000b6>  
我是否遗漏了任何组件引用?
你能帮我吗


提前感谢您。

ViewBag是作为一个动态组件实现的,需要.NET 4.0。您是否可能没有在.NET 4.0下运行您的站点?

我不确定我的帖子被删除的原因。我只是想说,我用了
ViewBag
和mono一起使用,这很重要,因为这个问题可以理解为“Razor和mono一起工作吗?”或者更重要的是,“它也和
ViewBag
一起工作吗?”。我还询问了mono和xsp的版本,因为升级到新编译的git版本解决了一些问题。操作:请提供这些信息,也许我能提供更多帮助。

在Linux下运行的Mono 2.10上使用Razor,ViewBag对我来说非常有用。请确保使用支持.Net/Clr 4和动力学的xsp4(而不是xsp2)作为主机。

看看这个答案:我还建议您使用视图模型而不是ViewData/ViewBag。OP表示,如果他注释掉
ViewBag
行,他的ASP.Net MVC 3 Razor应用程序工作正常。如果ASP.NET MVC 3应用程序的目标不是.NET 4.0,那么它就不可能正常工作。我不是Mono人,但是.NET 4中的target/compile并不意味着该站点的应用程序池在.NET 4下运行。如果池配置为其他版本,站点是否会彻底崩溃?很抱歉在谈论Mono时使用IIS术语…不,该网站甚至不会编译。ASP.NET MVC 3程序集依赖于.NET 4.0。是的,我的网站使用ASP.NET MVC 3+Razor。但是它不适用于
ViewBag
。我需要评论/删除它。你能告诉我,你正在使用哪个版本吗?Mono运行时版本:2.10.2(tarball???1 16:03:03 EEST 2011);ASP.NET版本:4.0.30319.1。Ubuntu 11.04。MonoDevelop 2.4(.0?)我在2.10.2上遇到了一些问题(但不完全是这个问题)。你能升级到git HEAD吗?(使用Mono和xsp进行操作,如果需要帮助,只需编写即可)。Mono 2.10.6解决了这个问题。我想是使用了2.10.1,现在使用了2.10.6。很好,它也为你修好了。顺便问一下:你用的是什么网络服务器?xsp4,阿帕奇?对于appache、njinx等,使用版本4模块(webserver4)也很重要。使用xsp时,您需要确保使用xsp4来获得.NET4之类的动态功能,从而获得ViewBag支持。
ViewBag.Message = "Welcome to ASP.NET MVC!";