我最近买了一台新笔记本电脑,并重新安装了Visual Studio 2013 Professional。安装后,我要做的第一件事是确保将Nuget设置为自动下载丢失的软件包。
现在,我正在尝试使用与我购买新笔记本电脑之前使用的大型解决方案相同的解决方案,但是却遇到了一些奇怪的错误,经过许多小时的研究,这些错误仍无法解决。
该问题最明显的症状是我在Razor视图上看到许多错误。它们是以下类型的错误:
无法使用功能“ lambda表达式”,因为它不是ISO-2 C#语言规范的一部分
无法使用功能“匿名类型”,因为它不属于ISO-2 C#语言规范
无法使用功能“隐式键入局部变量”,因为它不是ISO-2 C#语言规范的一部分
无法使用功能“扩展方法”,因为它不是ISO-2 C#语言规范的一部分
另一个症状是,如果我尝试添加新视图,则MVC项都不可用:例如,没有.cshtml项。但是,如果我创建一个新的解决方案,这些项目将按预期方式提供。
我已随全新安装一起更新到Visual Studio 2013 Update 3。该解决方案使用MVC 4和Razor2。我检查了web.config,没有发现任何错误-我想要的Razor和MVC版本正确。
尽管有这些错误,我的项目还是成功构建。构建之后,所有“隐式键入局部变量”错误都会消失几分钟,然后返回。另一个人正在使用旧笔记本电脑上的相同解决方案,并且没有遇到这些问题。
我希望有人能提供帮助。我需要解决此问题,因为缺少有用的Intellisense会损害我的工作效率。
我仍然有旧笔记本电脑,因此我比较了旧计算机上的设置和文件结构。文件结构非常不同。我没有在新计算机上使用相同的根目录。打开旧版本的解决方案时,我从旧计算机上复制了文件,并遇到TFS绑定错误。我进行了一些研究,以弄清楚如何修复绑定,这使我得以管理工作区。我删除了现有的工作区,并添加了一个带有正确路径的新工作区,该路径指向笔记本电脑上的解决方案。源代码控制盒开始疯狂复制文件。完成后,我遇到很多冲突,说“已经存在一个非版本控制文件或同名可写文件……”,我选择覆盖每个文件的本地文件,然后关闭Visual Studio并重新加载该项目。问题解决了。
我认为我的问题的根本原因是无效的工作空间。如果我先修复了工作区,我可能可以避免从旧计算机上复制文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句