使用git的Windows 8.1 Enterprise x64,Visual Studio 2015,MVC 5,EF 6,VS Online
我是Visual Studio的一个相对较新的开发人员(大约九个月),自从我开始以来,我在使用引用和NuGet包时遇到了非常困难的时期.我周五关闭计算机时,所有参考文献都在正常工作.我整个周末都没有触摸电脑,现在我已经启动了,我有很多参考错误:
(总共有6,262个错误,但我显然无法截断整个事情.)
就像我说的那样,这种问题经常发生,而且非常令人沮丧.我试过的事情:
确保引用实际抛出错误的所有引用
取消/重新安装在NuGet中抛出错误的软件包
完全删除packages
文件夹的内容,让NuGet恢复它们(所有重新安装,视图都有与以前相同的错误)
确保将每个引用设置为Copy Local
关闭解决方案,删除所有bin
和obj
文件夹,重新启动计算机,清理,重建
确保所有必要的引用都在相关内容web.config
(在内部Views
或根部)
检查NuGet选项以恢复丢失的包(未显示,所有包都在我的本地packages
文件夹中)
关于其他事情,我确信我已经忘记在这里列出了
这些软件包和参考资料让我很有智慧.每次都是一个不同的修复,这次我无法弄明白.我错过了一些明显的修复,我忽略了什么?有没有办法以某种方式在这个工作时进行备份,并在事情发生时恢复它?任何想法,无论是帮助解决当前问题还是解决潜在问题,都将非常感激.
附加说明
问题不仅在于视图 - 控制器也在抛出错误.特别:
找不到类型或命名空间名称'Controller'(您是否缺少using指令或程序集引用?)
(它字面上说Controller
,这不是我为了隐私而改变的东西.)
尽管我有using
所有必要命名空间的语句,但这些都被抛出.该using
语句本身工作正常,但错误的代码中引发.建议的自动修复是手动引用所有内容:例如,var sb = new StringBuilder();
要我将行更改为var sb = new System.Text.StringBuilder();
.测试该修复程序不能解决问题,抛出相同的错误,System
而不是StringBuilder
.
其他要求的信息
我在VS Team Services中使用git(但忽略了包.gitignore
).
我和另外一个人在这方面工作,但另一个人在几周内根本没有触及它(甚至没有从远程仓库拉出来).
.csproj
文件中的引用采用格式..\..\..\packages\
(相对于.csproj
文件的位置是正确的).
针对.NET 4.6(一直都是,这不是新的)
所有引用都解析,引用列表中没有感叹号.
daramasala.. 5
新项目
为了使包与git一起正常工作,你需要做一件事:
创建存储库时,请确保添加为Visual Studio开发定制的.gitignore.您可以在谷歌搜索此类文件或从此处获取.
这将确保您不会提交任何会导致以后出现问题的内容.
这应解决当您将包签入代码存储库时通常会发生的许多问题.您可以添加/删除包和升级包,也可以将存储库克隆到新计算机,并自动还原包.
现有项目这对新项目很有用.如果你已经有一个非常混乱的项目,那么很难修复它,因为Visual Studio将包版本保存在几个地方 - packages.config和app.config(以及相关的web.config).
您可以删除所有包(从所有项目中删除所有引用并删除包内容).
确保包不再出现在任何文件中(例如packages.config或app.config).现在添加.gitignore,然后开始添加包.
如果它不起作用,启动一个新项目,添加.gitignore,传输所有代码(只有你的代码)并安装包.
为了使包与git一起正常工作,你需要做一件事:
创建存储库时,请确保添加为Visual Studio开发定制的.gitignore.您可以在谷歌搜索此类文件或从此处获取.
这将确保您不会提交任何会导致以后出现问题的内容.
这应解决当您将包签入代码存储库时通常会发生的许多问题.您可以添加/删除包和升级包,也可以将存储库克隆到新计算机,并自动还原包.
现有项目这对新项目很有用.如果你已经有一个非常混乱的项目,那么很难修复它,因为Visual Studio将包版本保存在几个地方 - packages.config和app.config(以及相关的web.config).
您可以删除所有包(从所有项目中删除所有引用并删除包内容).
确保包不再出现在任何文件中(例如packages.config或app.config).现在添加.gitignore,然后开始添加包.
如果它不起作用,启动一个新项目,添加.gitignore,传输所有代码(只有你的代码)并安装包.