Github 和 Nuget 包

Github and Nuget packages

我正在尝试为 Github 上的一个项目做出贡献(第一次)。 我向解决方案添加了一个新项目并添加了 NUnit 和 AutoFixture(通过 Nuget),现在当我克隆该 repo 时它缺少对 NUnit 和 AutoFixture 的所有引用。

现在,当我发出拉取请求时(在我知道它缺少引用之前)它启动了 AppVeyor 构建并且严重失败了...

C:\Program Files (x86)\MSBuild.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]

我不确定如何解决这个问题,有人有什么想法吗?我已经在互联网上搜索了,但没有成功...

在 AppVeyor 上,您必须添加一个预构建步骤来恢复 nuget 包。使用 "Before Build script"、Build 选项卡,并在其中添加 "Nuget restore" 命令。请参阅 AppVeyor nuget docs

的 "Restoring NuGet packages before build" 部分中的详细信息

Visual Studio 默认设置是允许 "Allow Nuget to download missing packages" 和 "Automatically check for missing packages during build in VS",因此其他人应该不会有问题。我建议您将此信息添加到项目中的 readme.md 文件中,这样很容易看到。

不要执行任何 Enable Package Restore,这是 Nuget 2.7 之前版本的旧方法,无论如何它将在 Nuget 3 中消失。它还会使您的项目变得混乱,并且是一个需要摆脱的麻烦。