2010-10-19 63 views
9

我刚将我的ASP MVC 3应用程序从预览升级到测试版。 在预览中一切正常,但只要我升级奇怪的事情开始发生。从ASP MVC 3预览版1升级到beta版时的复杂功能

我收到此错误信息:

编译器错误信息:CS0234:该 类型或命名空间名称“助手”不 没有命名空间 “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

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

错误消息的截图:

alt text

有什么想法?

+0

您是使用附加的调试器发布网站还是运行它? – 2010-10-19 16:50:40

+0

现在即时通过调试器运行它,但即时计划发布它。 – Martin 2010-10-19 16:52:04

+0

我也尝试卸载ASP MVC 2和3,然后使用Microsoft Web平台安装程序重新安装ASP MVC 3,但仍然收到相同的错误消息。 – Martin 2010-10-19 17:19:35

回答

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" /> 
+0

感谢您的链接。我有同样的问题。我当时通过创建一个新项目解决了这个问题,并简单地将我所有的源代码导入到其中。 – Preets 2010-10-20 16:10:40

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

+0

谢谢,但我的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。所以它看起来也很好,但我会尝试重新安装'AspNetWebPages.msi'包。 – Martin 2010-10-20 15:37:02

10

问题是您需要在System.Web.Helpers参考中将Copy Local属性设置为true。

+1

+1复制本地是一种痛苦 – yoozer8 2012-08-10 13:52:43