我正在尝试为Github上的一个项目做贡献(第一次)。 我在解决方案中添加了一个新项目并添加了NUnit和AutoFixture(通过Nuget),现在当我克隆该repo时,它缺少对NUnit和AutoFixture的所有引用。
现在,当我执行拉取请求时(在我知道它缺少引用之前),它启动了AppVeyor构建并且失败了......
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5):
warning MSB3245: Could not resolve this reference. Could not locate the assembly "nunit.core.interfaces".
Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
[C:\projects\projectName\Client.Tests\Client.Tests.csproj]
我不知道如何解决这个问题,有没有人有任何想法?我没有运气在互联网上搜索过......
答案 0 :(得分:2)
在AppVeyor上,您必须添加一个用于恢复nuget包的预构建步骤。使用" Before Build脚本",Build选项卡,然后添加" Nuget restore"命令那里。请参阅"在构建之前恢复NuGet包" AppVeyor nuget docs
部分Visual Studio默认设置是允许"允许Nuget下载丢失的软件包"和"在VS"中构建期间自动检查缺少的软件包,以便其他人不应该有问题。我建议你将这个信息添加到项目中的readme.md文件中,这样很容易看到。
不要执行任何启用程序包还原,这是旧的Nuget 2.7版本之前的版本,无论如何它都将在Nuget 3中消失。它也使你的项目变得混乱,并且是一个令人讨厌的东西。