В случае, если это кому-то поможет, для меня ничего из вышеперечисленного было недостаточно. Я все еще не мог построить, VS все еще не мог найти ссылки. Ключ был просто закрыть и снова открыть решение после восстановления пакетов.
Вот сценарий (с использованием Visual Studio 2012):
Вы открываете решение, в котором отсутствуют пакеты. Ссылки показывают, что VS не может их найти. Есть много способов восстановить недостающие пакеты, в том числе
- построение решения с автоматическим восстановлением
- открыв Консоль диспетчера пакетов и нажав приятную кнопку «Восстановить»
- делать,
nuget restore
если у вас установлена командная строка nuget
Но независимо от того, какой подход, эти ссылки все равно будут показаны как отсутствующие. И когда вы построите это не удастся. Вздох. Однако, если вы закроете решение и снова откроете его, теперь VS <HintPath>
снова проверяет эти симпатичные s, обнаруживает, что пакеты вернулись туда, где они принадлежат, и все в порядке с миром.
Обновить
Visual Studio все еще не видит, что у вас есть пакет? По-прежнему показывает ссылку, которую он не может решить? Убедитесь, что версия восстановленного вами пакета точно такая же, как <HintPath>
в вашем файле .csproj. Даже незначительный номер исправления ошибки (например, с 1.10.1 по 1.10.2) приведет к сбою ссылки. Вы можете исправить это либо путем непосредственного редактирования вашего csproj xml, либо путем удаления ссылки и создания новой, указывающей на недавно восстановленную версию в каталоге пакетов.