从ASP MVC 3 Preview 1升级到beta时的复杂情况

时间:2010-10-19 16:47:51

标签: asp.net-mvc asp.net-mvc-3

我刚刚将ASP MVC 3应用程序从预览升级到测试版。 在预览中,一切都运行良好,但一旦升级,奇怪的事情就开始发生了。

我收到此错误消息:

  

编译器错误消息:CS0234:   类型或命名空间名称'Helpers'   在命名空间中不存在   'System.Web'(你错过了吗?   装配参考?)

     

源文件:c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 1512250b \ 962d050c \ App_Web_index.cshtml.a8d08dba.kncxiw31.0.cs Line:19

我试图完全重建应用程序,并清除临时的asp.net文件,但没有任何作用。我的解决方案构建成功,构建时没有错误。但是当我尝试打开网站时,我收到了这个错误。

这些是我引用的dll:

alt text

  

版本信息:Microsoft .NET   框架版本:4.0.30319; ASP.NET   版本:4.0.30319.1

错误消息的屏幕截图:

alt text

有什么想法吗?

3 个答案:

答案 0 :(得分:14)

经过深入搜索,我在ASP.NET MVC 3 release notes找到了一些答案。有一个名为将ASP.NET MVC 2项目升级到ASP.NET MVC 3 的部分,它告诉您该怎么做:

将以下两行添加到<assemblies>中的web.config部分:

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, 
     PublicKeyToken=31BF3856AD364E35" />

<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral,
     PublicKeyToken=31BF3856AD364E35" />

答案 1 :(得分:10)

问题是您需要在System.Web.Helpers引用上将Copy Local属性设置为true。

答案 2 :(得分:2)

确保System.Web.Mvc程序集指向正确的版本:

C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll

并且System.Web.Helpers也是:

C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.Helpers.dll

在Beta 3中,System.Web.Helpers是单独下载的,因此请确保您已安装AspNetWebPages.msi