Windows 8.1 Enterprise x64,Visual Studio 2015,MVC 5,EF 6,使用git的VS Online
我是Visual Studio的一个相对较新的开发人员(大约九个月),自从我开始以来,我在使用引用和NuGet包时遇到了非常困难的时期。我周五关闭计算机时,所有参考文献都在正常工作。我整个周末都没有触摸电脑,现在我已经启动了,我有很多参考错误:
(共有6,262个错误,但我显然无法截取整个内容。)
就像我说的那样,这种问题经常发生,令人非常沮丧。我尝试过的事情:
packages
文件夹的内容,让NuGet恢复它们(全部重新安装,视图与之前的错误相同)Copy Local
bin
和obj
文件夹,重新启动计算机,清理,重建web.config
中(在Views
内或在根目录中)packages
文件夹中)我对这些软件包和参考资料的态度非常敏捷。每次都是一个不同的修复,这次我无法弄明白。我错过了一些明显的修复,我忽略了什么?有没有办法以某种方式在这个工作时进行备份,并在事情发生时恢复它?任何想法,无论是帮助解决当前问题还是解决潜在问题,都将非常感激。
附加说明
问题不仅在于视图 - 控制器也在抛出错误。具体做法是:
找不到类型或命名空间名称'Controller'(您是否缺少using指令或程序集引用?)
(字面意思是Controller
,这不是我因隐私或其他原因而改变的。)
尽管我对所有必需的命名空间都有using
个语句,但仍抛出这些。 using
语句本身可以正常工作,但代码中会抛出错误。建议的自动修复是手动引用所有内容:例如,var sb = new StringBuilder();
要我将行更改为var sb = new System.Text.StringBuilder();
。测试该修复程序无法解决问题,但会在System
而不是StringBuilder
上抛出相同的错误。
其他要求的信息
.gitignore
)会忽略包。.csproj
文件中的引用格式为..\..\..\packages\
(相对于.csproj
文件的位置更正)。答案 0 :(得分:5)
要使软件包与git一起正常工作,您需要做一件事:
创建存储库时,请确保添加为Visual Studio开发定制的.gitignore。您可以在Google上搜索此类文件,也可以从here获取该文件。
这将确保您不会提交任何会导致以后出现问题的内容。
这可以解决当您将包签入代码存储库时通常会发生的许多问题。您可以添加/删除包和升级包,也可以将存储库克隆到新计算机,并自动恢复包。
这对新项目有利。如果你已经有一个非常大的混乱的项目,那么很难修复它,因为Visual Studio将包版本保存在几个地方 - packages.config和app.config(以及相关的web.config)。
您可以删除所有包(删除所有项目中的所有引用并删除包内容)。
确保程序包不再出现在任何文件中(例如packages.config或app.config)。现在添加.gitignore,然后开始添加包。
如果它不起作用,启动一个新项目,添加.gitignore,传输所有代码(仅代码)并安装软件包。
答案 1 :(得分:2)
我不太熟悉Git在VS中的工作方式,但我记得最近一次使用TFS从源代码控制解除解决方案,修复所有软件包,清理和重新构建之前再绑定它解决了一堆有关NuGet参考的问题。
如果Git在VS中的表现方式不同,我道歉。