我最近在Visual Studio 2019中将Xamarin.Android的NUnit 3单元测试项目添加到我的应用程序的解决方案中。我能够对其进行配置并使其运行(即使通过一些测试也成功!),但是将项目检查到我们的存储库中并将其拉到新机器上,我无法使其以我尝试过的任何容量工作。每次尝试构建时,都会出现错误“此项目引用了此计算机中缺少的NuGet软件包”。这些软件包肯定可以在项目目录中找到,NuGet软件包管理器似乎可以识别出它们已经存在。
到目前为止,我已经尝试过:
Update-Package -Reinstall
Update-Package -Reinstall -ProjectName myProject
,并专门针对测试项目。Update-Package -Reinstall -Safe
.csproj
,以获取程序包引用。在每一个之后,我都遇到相同的错误。 “此项目引用了此计算机中缺少的NuGet软件包。”我知道事实并非如此。我在这里想念什么?另外,每次将项目拉到新机器上时,我都必须经历这个过程吗?
更新:
经过反复试验,我能够按照以下步骤构建测试项目,将其部署到虚拟设备并成功运行:
我打开了一个程序包管理器控制台窗口,再次尝试Update-Package -Reinstall
,但是这一次PM控制台窗口有一个提示,告诉我Visual Studio注意到有引用的程序包丢失,如果我想恢复它们。我单击“还原”,然后等待任务完成。
在这一点上,我能够成功构建,但是在尝试部署到虚拟Android设备上时,出现一个错误:“ LinkAssemblies任务意外失败。”
这使我能够在Android模拟器上成功运行我的NUnit测试应用程序,但是现在我担心的是,如果我对原点进行任何更改,则尝试拉下项目的下一台计算机将遇到与我相同的问题。我想这会将我原来的问题的重点更新为:我为自己造成了什么错误而做错了这个问题,以及如何防止它继承到需要拉该项目的其他机器上? < / p>