3
我在Visual Studio 2012的一個大問題每當我開始一個ASP.Net MVC4項目,我得到了以下錯誤:的Visual Studio 2012無法編譯動態表達式和模型類型
Cannot convert lambda expression to type 'System.Linq.Expressions.Expression<System.Func<Carrousel.Web.ViewModels.LoginViewModel,bool>>' because it is not a delegate type
One or more types required to compile a dynamic expression cannot be found. Are you missing a reference? d:\Visual Studio\Projects\School\Carrousel v2\Carrousel.Presentation\Views\Account\Login.cshtml
The type arguments for method 'System.Web.Mvc.Html.InputExtensions.TextBoxFor<TModel,TProperty>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TProperty>>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
這種情況發生時在cshtml文件中有ViewBag和Html Form Helpers等動態表達式。
我一直在尋找一段時間,唯一的原因是我可以找到如果Microsoft.CSharp和/或System.Core沒有被引用。不過,我在項目中都引用了這兩個參數。
這個問題只發生在使用Asp.Net Mvc 4時,使用Mvc 3時一切正常。我的Windows 7和Windows 8 Enterprise版本都出現此錯誤。我也嘗試通過軟件包管理器卸載並重新安裝mvc4。
這是一個重複? http://stackoverflow.com/questions/12782951/c-sharp-dynamic-types-break-when-upgrading-to-visual-studio-2012?rq=1 – rene