У меня есть устаревший проект с несколько ошибочной конфигурацией для используемых пакетов nuget.
Когда я пытаюсь восстановить пакеты с помощью решения (.sln), восстановление ничего не восстанавливает.Кроме того, менеджер пакетов nuget не показывает установленных пакетов для решения.Что я пробовал:
nuget restore the_solution.sln -MSBuildPath "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" -Verbosity detailed -ConfigFile "C:\Users\jenkins\AppData\Roaming\NuGet\NuGet.Config"
Но когда я восстанавливаю пакеты для каждого проекта (.csproj), восстановление работает нормально, и проект можно построить.Команда, которую я вызываю для восстановления проекта:
nuget restore path_to_project\packages.config -MSBuildPath "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin" -Verbosity detailed -OutputDirectory "Packages" -ConfigFile "C:\Users\jenkins\AppData\Roaming\NuGet\NuGet.Config"
Конфигурация пакетов для каждого .csproj выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Autofac" version="4.7.0" targetFramework="net461" />
<!- many other packages -->
</packages>
Файл .csproj выглядит следующим образом:
<ItemGroup>
<Reference Include="Autofac, Version=4.7.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.4.7.0\lib\net45\Autofac.dll</HintPath>
</Reference>
<!- many other packages -->
Стиль RestoreProject в .csproj установлен на:
<PropertyGroup>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>
Понятия не имею, почему я не могу использовать файл .sln для восстановления nuget.Таким образом, любой намек на то, что может вызвать ошибку, высоко ценится.