我做了一个视窗更新,之后我的asp.net MVC5应用程序将不再加载,并抱怨
CS0234: The type or namespace name 'Html' does not exist in the namespace 'System.Web.Mvc'
指出我的观点web.config是错误的
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="Ogre.Extensions" />
<add namespace="Newtonsoft.Json"/>
</namespaces>
</pages>
</system.web.webPages.razor>
这是非常令人困惑的。在我的项目本身中,我可以看到Html
命名空间,在ILSpy中打开我的程序集我可以导航到绑定的System.Web.Mvc
,我也可以导航到它,并且融合日志没有显示任何可疑的绑定错误。
就好像只有我的视图被(成功地)绑定到一个旧版本的Mvc上。为什么会发生这种事呢?我怎么才能修复它?
让我澄清一下,这里没有配置,甚至没有代码更改。这些都在我的IISExpress开发机器上。它正在运行,我进行了更新并重新启动,现在它不再运行。
这是我最近从更新中安装的。我可以开始一个接一个地删除它们,但我想知道到底是哪里出了问题,因为我感觉我遗漏了故事的一部分。
发布于 2014-11-11 05:03:24
设置CopyLocal=true没有帮助。清理解决方案,然后关闭它,然后重新打开它是有效的。您可能还需要关闭整个Visual Studio实例。
发布于 2014-10-20 22:13:50
除了在项目参考中设置CopyLocal=true之外,您可能还需要更改Web.Config文件,如下所示...
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.1" />
</dependentAssembly>
请注意newVersion="4.0.0.1“。这对我很有效,我希望它也能帮助一些人。
保存在任何测试/生产服务器上更新MVC框架。
为微软干杯。你是最棒的!
你想让我在客户面前显得无能的企图又一次被挫败了!
https://stackoverflow.com/questions/26406804
复制相似问题