2013-09-13 5 views
0

Я только что обновился до NuGet 2.7 и последовал за Migrate to automatic package restore walkthrough. После этого я заметил, что NuGet не признает установленные пакеты правильно:Nuget не распознает установленные пакеты после обновления до NuGet 2.7

  • Скопление не загружать пакеты и, следовательно, построить не удалось.

  • Пакет не указан в разделе «Установлен» при выборе «Управление пакетами 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> 

Первые две линии были заменены на третий. После этого пакет был правильно установлен.

Итак, как я могу снова установить свои пакеты, не выполняя описанную выше процедуру для каждого пакета в каждом проекте?

ответ

0

Я не нашел решение для восстановления правильного поведения для всех пакетов одновременно. Но один пакет можно переустановить для всех проектов с использованием командной строки:

Update-Package -Reinstall <package-name> 

После этого, пакет правильно признан установлен и будет восстановлен правильно. Однако этот подход все еще громоздкий, поэтому, если у кого-то есть лучший подход, это было бы хорошо!