Я заметил, что в Visual Studio Nuget восстанавливает неправильные пакеты из того, что требуется проекту с помощью ASP. NET CORE 2.2. Например, проект req. microsoft.aspnetcore.mvc.core 2.2.0
(обнаружил это через поле поиска в обозревателе решений), но после восстановления он помещает C:\Users\...\.nuget\packages\microsoft.aspnetcore.mvc.core\2.1.0
То же самое можно сказать о microsoft.aspnetcore.mvc.apiexplorer
.
Если я помещаю <PackageReference Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Version="2.2.0" />
в файлы проекта, он не вытащите 2.1.0
и вместо этого использует версию из SDK.
.csproj
очень просто
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<RootNamespace>DataAccess</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Couchbase.Extensions.DependencyInjection" Version="2.0.2" />
<PackageReference Include="CouchbaseNetClient" Version="2.7.16" />
<PackageReference Include="FluentValidation.AspNetCore" Version="8.6.1" />
<PackageReference Include="log4net" Version="2.0.8" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="3.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0" />
<PackageReference Include="OurInternalLib" Version="1.0.8" />
</ItemGroup>
<ItemGroup>
<Content Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>