检出测试项目后,NuGet软件包丢失且无法还原

时间:2019-04-16 16:20:52

标签: c# visual-studio xamarin.android nunit nuget-package-restore

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

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

  • 通过NuGet软件包管理器卸载并重新安装软件包
  • 在PM控制台中尝试Update-Package -Reinstall
  • 在PM控制台中尝试Update-Package -Reinstall -ProjectName myProject,并专门针对测试项目。
  • 在PM控制台中尝试Update-Package -Reinstall -Safe
  • 使用.dll目录手动修改.csproj,以获取程序包引用。

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

更新

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

  1. 在Visual Studio中项目的“资源管理器”视图中,我删除了项目根目录中的“ packages”文件夹。
  2. 我打开了一个程序包管理器控制台窗口,再次尝试Update-Package -Reinstall,但是这一次PM控制台窗口有一个提示,告诉我Visual Studio注意到有引用的程序包丢失,如果我想恢复它们。我单击“还原”,然后等待任务完成。

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

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

这使我能够在Android模拟器上成功运行我的NUnit测试应用程序,但是现在我担心的是,如果我对原点进行任何更改,则尝试拉下项目的下一台计算机将遇到与我相同的问题。我想这会将我原来的问题的重点更新为:我为自己造成了什么错误而做错了这个问题,以及如何防止它继承到需要拉该项目的其他机器上? < / p>

0 个答案:

没有答案