当前位置:  开发笔记 > 编程语言 > 正文

一劳永逸地修复NuGet包和引用

如何解决《一劳永逸地修复NuGet包和引用》经验,为你挑选了1个好方法。

使用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

关闭解决方案,删除所有binobj文件夹,重新启动计算机,清理,重建

确保所有必要的引用都在相关内容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).

选项1 - 修复当前项目

您可以删除所有包(从所有项目中删除所有引用并删除包内容).

确保包不再出现在任何文件中(例如packages.config或app.config).现在添加.gitignore,然后开始添加包.

选项2 - 创建一个新项目

如果它不起作用,启动一个新项目,添加.gitignore,传输所有代码(只有你的代码)并安装包.



1> daramasala..:
新项目

为了使包与git一起正常工作,你需要做一件事:

创建存储库时,请确保添加为Visual Studio开发定制的.gitignore.您可以在谷歌搜索此类文件或从此处获取.

这将确保您不会提交任何会导致以后出现问题的内容.

这应解决当您将包签入代码存储库时通常会发生的许多问题.您可以添加/删除包和升级包,也可以将存储库克隆到新计算机,并自动还原包.

现有项目

这对新项目很有用.如果你已经有一个非常混乱的项目,那么很难修复它,因为Visual Studio将包版本保存在几个地方 - packages.config和app.config(以及相关的web.config).

选项1 - 修复当前项目

您可以删除所有包(从所有项目中删除所有引用并删除包内容).

确保包不再出现在任何文件中(例如packages.config或app.config).现在添加.gitignore,然后开始添加包.

选项2 - 创建一个新项目

如果它不起作用,启动一个新项目,添加.gitignore,传输所有代码(只有你的代码)并安装包.


_"从现在开始,你将不会遇到任何问题" - 这是错误的,当你唯一的行动是向`.gitignore`添加正确的条目时,很多问题都是可能的.包版本也不保存在app/web.config中.
推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有