Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ms_windows_ms_sql:package_config_prerelease_nuget_packages [2021/12/08 08:46] – created adminms_windows_ms_sql:package_config_prerelease_nuget_packages [2021/12/08 11:32] (current) admin
Line 2: Line 2:
   nuget restore    nuget restore 
 не скачивает пакеты с PreRelease-версиями. не скачивает пакеты с PreRelease-версиями.
-**Nuget** опирается на **packages.config**, который постепенно заменяется на **PackageReference** (Visual Studio 2017 версии 15.7 и более поздние https://docs.microsoft.com/ru-ru/nuget/consume-packages/migrate-packages-config-to-package-reference).+**Nuget** опирается на **packages.config**, который постепенно заменяется на **PackageReference** (Visual Studio 2017 версии 15.7 и более поздние https://docs.microsoft.com/ru-ru/nuget/consume-packages/migrate-packages-config-to-package-reference). \\ 
 +Вот немного про миграцию в сторону **PackageReference**: https://docs.microsoft.com/ru-ru/nuget/consume-packages/migrate-packages-config-to-package-reference \\ 
 +Вот тут: https://docs.microsoft.com/ru-ru/dotnet/core/tools/dotnet-restore сказано, что " **.NET** не использует файл **packages.config**. Вместо этого он использует элементы **<PackageReference>** для пакетов **NuGet**." 
 +**nuget** предполагает, что **prerelease** пакеты не используются при сборке **Release**. А чтобы можно было собрать **Release** с **prerelease** пакетами нужно либо иметь их в локальном кеше, либо - явно указывать в **cproj** файлике с помощью конструкции:  
 +  <ItemGroup> 
 +    <PackageReference Include="Gems.ServiceBus.Emitting" Version="3.7.12-DC-0-more-tracing-dev.2" /> 
 +  </ItemGroup> 
 +То есть, чтобы **nuget restore** корректно обработал prerelease-пакеты, нужно в **cproj** заменить: 
 +<code> 
 +  <ItemGroup> 
 +    <Reference Include="Contour, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
 +      <HintPath>..\..\packages\Contour.3.0.0-pr8\lib\netstandard2.0\Contour.dll</HintPath> 
 +    </Reference> 
 +    <Reference Include="Gems.ServiceBus.Emitting, Version=3.7.11.0, Culture=neutral, processorArchitecture=MSIL"> 
 +      <HintPath>..\..\packages\Gems.ServiceBus.Emitting.3.7.11.0\lib\netstandard2.0\Gems.ServiceBus.Emitting.dll</HintPath> 
 +    </Reference> 
 +  </ItemGroup> 
 +</code> 
 +на 
 +<code> 
 +  <ItemGroup> 
 +    <PackageReference Include="Contour" Version="3.0.0-pr8" /> 
 +    <PackageReference Include="Gems.ServiceBus.Emitting" Version="3.7.12-DC-0-more-tracing-dev.2" /> 
 +  </ItemGroup> 
 +</code> 
 +https://github.com/NuGet/Home/issues/6196 \\ 
 +https://github.com/NuGet/Home/issues/2944 \\ 
 + 
 +При этом, nuget ведет себя довольно странно. Он отказывается находить данный пакет: 
 +  nuget search -PreRelease Gems.ServiceBus.Emitting 
 +Но при этом - нормально устанавливает: 
 +  nuget install -Version 3.7.12-DC-0-more-tracing-dev.2 -PreRelease Gems.ServiceBus.Emitting -OutputDirectory ./packages/
  • ms_windows_ms_sql/package_config_prerelease_nuget_packages.txt
  • Last modified: 2021/12/08 11:32
  • by admin