Якщо це допомагає комусь, для мене нічого з перерахованого вище не було достатнім. Я ще не міг побудувати, VS досі не міг знайти посилання. Ключовим було просто закрити і знову відкрити рішення після відновлення пакетів.
Ось сценарій (за допомогою Visual Studio 2012):
Ви відкриваєте рішення, у якому відсутні пакети. Посилання показують, що VS їх не може знайти. Існує багато способів відновити відсутні пакети, в тому числі
- побудова рішення, яке встановлюється для автоматичного відновлення
- відкрити консоль диспетчера пакунків та натиснути приємну кнопку "Відновити"
- робити,
nuget restore
якщо у вас встановлений нукет командного рядка
Але незалежно від підходу, ці посилання все одно будуть відображатися як відсутні. І коли ви будуєте, це не вдасться. Зітхнути. Однак якщо ви закриєте рішення та повторно відкриєте його, тепер VS перевіряє ці приємні <HintPath>
файли знову, виявляє, що пакунки повертаються туди, де вони належать, і все добре зі світом.
Оновлення
Чи Visual Studio все ще не бачить, що у вас є пакет? Ви все ще показуєте посилання, яке не може вирішити? Переконайтесь, що версія відновленого пакету точно така ж, як <HintPath>
у вашому .csproj-файлі. Навіть незначний номер виправлення помилки (наприклад, від 1.10.1 до 1.10.2) призведе до відмови посилання. Ви можете виправити це або безпосередньо відредагувавши свій csproj xml, або іншим способом, видаливши посилання та зробивши нову, що вказує на нещодавно відновлену версію в каталозі пакунків.