我在Visual Studio中遇到了问题,在我的MVC5
razor视图中,调用ViewBag的一行代码出现了错误。
@{
ViewBag.Title = "Home Page";
}
错误消息是
缺少一个或多个类型以编译动态表达式,请检查是否缺少引用
。我一直在寻找解决方案。一些帖子建议添加对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>)' 无法从用法中推断出。尝试显式指定类型参数。
奇怪的是,应用程序仍然按预期运行,所以我认为这是某种 Visual Studio 问题。欢迎任何帮助!