Я только что обновился до NuGet 2.7 и выполнил пошаговое руководство по переходу на автоматическое восстановление пакетов. После этого я заметил, что NuGet не распознает установленные пакеты должным образом:
Сборка не загружала пакеты, и, следовательно, сборка не удалась.
Пакет не был указан в списке «установлен» при выборе в проекте «Управление пакетами NuGet».
Однако при просмотре онлайн-пакетов на установленных пакетах была зеленая галочка, поэтому я не мог их установить, даже если на вкладке «Установленные» они не перечислены.
Я пришел к выводу, что пакеты были распознаны NuGet 2.7 только наполовину, поэтому я вручную удалил одну строку из packages.config, а затем переустановил этот пакет. Это показывает интересное изменение в файле csproj (представление различий):
- <Reference Include="xunit, Version=1.9.2.1705, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
+ <Reference Include="xunit">
<HintPath>..\packages\xunit.1.9.2\lib\net20\xunit.dll</HintPath>
</Reference>
Первые две строчки были заменены третьей. После этого пакет снова был правильно установлен.
Итак, как я могу снова правильно установить свои пакеты, не выполняя описанную выше процедуру для каждого пакета в каждом проекте?