Differences

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

Link to this comparison view

Both sides previous revision Previous revision
ms_windows_ms_sql:package_config_prerelease_nuget_packages [2021/12/08 10:24] adminms_windows_ms_sql:package_config_prerelease_nuget_packages [2021/12/08 11:32] (current) admin
Line 4: Line 4:
 **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 \\ Вот немного про миграцию в сторону **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** файлике с помощью конструкции:  **nuget** предполагает, что **prerelease** пакеты не используются при сборке **Release**. А чтобы можно было собрать **Release** с **prerelease** пакетами нужно либо иметь их в локальном кеше, либо - явно указывать в **cproj** файлике с помощью конструкции: 
   <ItemGroup>   <ItemGroup>
     <PackageReference Include="Gems.ServiceBus.Emitting" Version="3.7.12-DC-0-more-tracing-dev.2" />     <PackageReference Include="Gems.ServiceBus.Emitting" Version="3.7.12-DC-0-more-tracing-dev.2" />
   </ItemGroup>   </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/6196 \\
 https://github.com/NuGet/Home/issues/2944 \\ https://github.com/NuGet/Home/issues/2944 \\
  • ms_windows_ms_sql/package_config_prerelease_nuget_packages.txt
  • Last modified: 2021/12/08 11:32
  • by admin