【问题标题】:VS2017 Missing namespaces (after git pull)VS2017 缺少命名空间(在 git pull 之后)
【发布时间】:2018-06-08 08:21:32
【问题描述】:

我有一个 Visual Studio Solution(多个项目),过去它能够在另一台计算机上构建,但在新计算机上使用 Git 拉动后无法构建。 IDE (VS2017), platform target (Any CPU), .Net Framework (.Net 4.6.1), ... 和其他一切都应该是一样的,但它给出了一些“The type or namespace name 'nameOfTypeOrNamespace' does not exist in the namespace”错误。还有一些“Metadata file 'pathToFile.dll" could not be found”错误。示例截图:

大部分缺失的程序集都是自己编写的,但也有一些是第三方的,如解决方案资源管理器中所示。我的解决方案中似乎也没有参考文件夹了:

我知道已经有一些问题涉及缺少命名空间,但似乎没有一个与我的特殊情况相匹配。我已经检查了引用和命名空间,但似乎找不到问题(没有错字,因为它以前工作过)。没有项目的人可能真的很难找到问题,我无法分享,所以我的问题是:
应该如何最好地搜索解决方案?

我还检查了我的 .gitignore 文件并确认它不应该导致此问题。
更新如评论部分所述:我正在使用 NugetRestore Nuget Packages 选项不起作用。

【问题讨论】:

  • 你在使用 Nuget 吗?如果是这样,包还原是否可以修复它?
  • 我正在使用 Nuget,是的,应该在主帖中提到这一点。但是,使用 Restore Nuget Packages 选项似乎并没有做到这一点。不适用于定制或第三方

标签: c# visual-studio .net-assembly


【解决方案1】:

我目前通过执行以下操作解决了这个问题:

  1. .gitignore-文件中删除packages

  2. 打开一个 cmd 并输入以下 Git 命令(请务必先提交所有更改,因为执行以下命令可能会丢失它们):

    一个。 git rm -r --cached .(清除缓存以便 Git 可以检测到更改)
    湾。 git add .(添加所有更改的文件)
    C。 git commit -m "Fixing the packages issue"(提交更改)

请记住,这只是一个快速修复或破解,并不能真正解决问题。

【讨论】:

    【解决方案2】:

    @Wouter 的解决方案正在运行,但正如他所说,这不是最佳方式,会导致占用大量源代码控制存储,并增加推拉(TFS 中的签入和签出)中的下载和上传大小。

    如果“恢复 Nuget 包”不起作用,要恢复包,请使用以下解决方案:

    从 Visual Studio 的工具菜单中,选择 NuGet 包管理器--> 包管理器控制台 并运行以下命令:

    Update-Package –reinstall
    

    我希望它有效。

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      相关资源
      最近更新 更多