首页 > 解决方案 > 签出测试项目后,NuGet 包丢失且无法恢复

问题描述

我最近在 Visual Studio 2019 中的应用程序解决方案中添加了一个用于 Xamarin.Android 的 NUnit 3 单元测试项目。我能够对其进行配置并使其运行(甚至通过一些测试成功!),但只要我检查了该项目进入我们的存储库并将其拉到一台新机器上,我无法让它以我尝试过的任何容量工作。每次我尝试构建时,都会出现错误“此项目引用了此计算机中缺少的 NuGet 包”。这些包肯定在项目目录中可用,并且 NuGet 包管理器似乎认识到它们在那里。

到目前为止,我已经尝试过:

在每一个之后,我都遇到了同样的错误。“此项目引用了此计算机中缺少的 NuGet 包。” 我知道事实上他们不是。我在这里想念什么?此外,每次将项目拉到新机器上时,我是否都必须经历这个过程?

更新:

经过反复试验,我能够构建测试项目,将其部署到虚拟设备并按照以下步骤成功运行:

  1. 在 Visual Studio 中项目的资源管理器视图中,我删除了项目根目录中的“包”文件夹。
  2. 我打开包管理器控制台窗口Update-Package -Reinstall再次尝试,但这次 PM 控制台窗口提示我 Visual Studio 注意到缺少引用的包,以及是否要还原它们。我单击“恢复”并等待任务完成。

    此时我能够成功构建,但在尝试部署到虚拟 Android 设备时,出现错误:“LinkAssemblies 任务意外失败。”

  3. 我安装了最新的可用 Android SDK(API 28,Android Pie),并更改了测试项目的目标框架以匹配。

这让我成功地在 Android 模拟器上运行了我的 NUnit 测试应用程序,但我现在担心的是,如果我将任何更改推送到原点,下一台尝试将项目拉下来的机器将遇到与我相同的问题。我想这将我原来问题的重点更新为:我做错了什么导致自己出现这个问题,我怎样才能防止它转移到需要拉动项目的其他机器上?

标签: c#visual-studioxamarin.androidnunitnuget-package-restore

解决方案


推荐阅读