尝试在VS2010 Beta2中构建我的.NET 3.5 mvc应用程序会引发MVCBuildView错误

时间:2010-01-20 09:07:00

标签: asp.net asp.net-mvc visual-studio-2010

我升级到VS 2010 Beta2。当我打开它时,它升级了我的slns和csprojs。 当它问我时,我选择留在.net 3.5以保持兼容性

注意:原始项目是使用MVC2 Preview2构建的 - 与VS2010附带的版本完全相同

但是,当我尝试构建包含视图的Web项目时,我遇到了一些编译器错误。

我有一个使用RouteValueDictionary执行一些分页魔术的Pager.ascx,但是我在构建时遇到了这个错误。

错误50'c:​​\ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll'和'c:\'中存在'System.Web.Routing.RouteValueDictionary'类型Windows \ assembly \ GAC_MSIL \ System.Web.Routing \ 3.5.0.0__31bf3856ad364e35 \ System.Web.Routing.dll'c:\ Projects \ Phase2 \ Source \ Kk.Web \ Views \ Shared \ Pager.ascx 8 Kk.Web < / p>

MvcBuildViews在项目文件中为true。

如何解决此构建错误?

我不知何故需要告诉ASPX编译器是v3.5(或v2.0,不确定)。但我不知道该怎么做。

非常感谢任何帮助。

CV

2 个答案:

答案 0 :(得分:1)

根据this文章 您需要让它像这样更改AspNetCompiler物理路径:

<Target Name="BuildViews" Condition="'$(MvcBuildViews)'=='true'" AfterTargets="Build">
  <Message Importance="normal" Text="Precompiling views" />
  <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>

答案 1 :(得分:0)

我重新审视了这个问题,感谢Maslow,我能够更好地谷歌并找到这个Microsoft Connect错误。

http://connect.microsoft.com/VisualStudio/feedback/details/557798/visual-studio-2010-compile-asp-net-3-5-website-using-net4s-aspnet-compiler-exe

关于该问题的建议工作完美无缺。

此处列出了解决方案http://forums.asp.net/p/1551418/3824696.aspx