Both sides previous revision Previous revision | |
ms_windows_ms_sql:package_config_prerelease_nuget_packages [2021/12/08 10:24] – admin | ms_windows_ms_sql:package_config_prerelease_nuget_packages [2021/12/08 11:32] (current) – admin |
---|
**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 \\ |