我在Visual Studio中遇到问题,我在调用ViewBag的代码行上的MVC5
razor视图中出现错误。
@{
ViewBag.Title = "Home Page";
}
错误为one or more types required to compile a dynamic expression, are you missing a reference
。
我一直在寻找解决方案。一些帖子要求我添加对Microsoft.Csharp v.4.0.30319的引用。这已经完成但仍然是问题。另一种解决方案是添加行
<compilation debug="true" targetFramework="4.0" />
到配置文件。这不能完成,因为我的目标是4.5,所以我把它改为4.5。仍然是同样的问题。
在视图中添加任何lambda也存在问题,例如
@Html.LabelFor(a=>a.Property);
哪个也会导致错误:
'System.Web.Mvc.Html.LabelExtensions.LabelFor<TModel,TValue>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TValue>>, System.Collections.Generic.IDictionary<string,object>)' cannot be inferred from the usage. Try specifying the type arguments explicitly
奇怪的是,应用程序确实按预期运行,所以我认为这是某种Visual Studio问题。
欢迎任何帮助!
答案 0 :(得分:5)
在web.config中更改为targetFramework =“4.5.1”为我修复了它。