【发布时间】:2015-07-20 04:18:02
【问题描述】:
在 SO 上有类似的问题,但我找不到与我的具体情况相关的问题
ASP.NET MVC 文件新项目构建并运行正常,但在编辑器中我到处都是红色波浪线,上面有许多 CS0234: “类型或命名空间 'MVC' 不存在”和 CS0103:名称 xxxx 在当前上下文中不存在。其中 xxxx 是 ViewBag、Scripts、RenderSection 等。
在使用 @Model 添加模型并引用该模型上的项目时,这在编辑器中也会以相同的方式失败。在 2015 年从 vs2013 打开现有项目的行为也相同。我可以在本地 bin 目录中看到 System.Web.Helpers.dll 和 System.Web..Mvc.dll 的本地副本,但编辑器无法引用这些。
我尝试使用 nuget 手动删除并重新安装 MVC (Microsoft.AspNet.Mvc) 无济于事。
操作系统:Windows 8.1 专业版
也许是一个已知的错误?希望有人可以对此有所了解。
网络配置(摘录):
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
包(摘录):
<packages>
<package id="Microsoft.AspNet.Identity.Core" version="2.2.0" targetFramework="net452" userInstalled="true" />
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.0" targetFramework="net452" userInstalled="true" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.0" targetFramework="net452" userInstalled="true" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net452" userInstalled="true" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net452" userInstalled="true" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net452" userInstalled="true" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net452" userInstalled="true" />
</packages>
以为我已经解决了这个问题(请参阅下面的人造修复 1),但 c# 代码完成/智能感知仍然被破坏。重新安装 VS 没有任何区别。
虚假修复 1 squigglies + cs0234 错误消失但没有 c# 智能感知/代码完成
- 去程序和功能修改当前的 vs 设置以仅删除网络工具
- 几乎立即中止了上述操作 - 安装程序中止,除了可能设置一个还原点之外没有任何更改。认为先回到 vs 并卸载 Web Essentials 扩展是谨慎的做法!
- 在与已卸载的 Web Essentials 中
- 在重新启动时出现与我卸载的 chutzpah 扩展相关的错误(错误详情如下)
- 再次打开 vs 以检查它是否仍然有效 - 新建了一个 asp.net mvc 5 项目(因此在此阶段没有对 vs 安装的组件进行任何更改)并且一切正常,编辑器中没有更多错误所有曲线都消失了!
- 重新加载上述扩展,一切仍然有效
错误详情(来自 %APPDATA%\Microsoft\VisualStudio\10.0\ActivityLog.xml)
<entry>
<record>389</record>
<time>2015/05/06 19:45:05.396</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Begin package load [ChutzpahVS2012Package]</description>
<guid>{A523D775-1341-4F21-A950-8C716E5628C9}</guid>
</entry>
<entry>
<record>390</record>
<time>2015/05/06 19:45:05.396</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [ChutzpahVS2012Package]</description>
<guid>{A523D775-1341-4F21-A950-8C716E5628C9}</guid>
<hr>80070002</hr>
<errorinfo>Could not load file or assembly 'Microsoft.VisualStudio.TestPlatform.ObjectModel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.</errorinfo>
</entry>
虚假修复1结束
【问题讨论】:
-
我不清楚 - 当你创建一个新的 MVC5 项目时也会发生这种情况吗?
-
@Simon McKenzie - 是的,提交新项目
-
This article on MVC4 建议将
System.Web.Mvc引用设置为“复制本地”。这有帮助吗? -
@Simon McKenzie - 刚刚添加了您评论的答案 - 问题现在已经消失。默认情况下似乎设置了“复制本地”(尽管现在可以正常工作)-感谢您查看此内容。 All v. 奇怪的我已经重置了一些东西
-
@Simon McKenzie - 说得太早了,上面的修复不起作用 - 删除了我的答案并添加了问题的更新以澄清尝试过的事情。
标签: c# asp.net-mvc razor asp.net-mvc-5 visual-studio-2015