Настройка NuGet

Реализация OSA Proxy

Эта страница относится к текущей реализации OSA Proxy. Архивная Java/Spring-реализация доступна в разделе Архивная Java/Spring-реализация.

nuget:
  enabled: true
  repository:
    - name: nuget
      registry: https://api.nuget.org
      scan-manifest: true
      scan-package: true
      work-mode: strict_wait

Добавьте источник пакетов:

dotnet nuget add source https://osa-proxy.example.com/nuget/nuget-api/v3/index.json --name osa-proxy
dotnet restore --source https://osa-proxy.example.com/nuget/nuget-api/v3/index.json

Эквивалентный NuGet.Config:

<configuration>
  <packageSources>
    <clear />
    <add key="osa-proxy" value="https://osa-proxy.example.com/nuget/nuget-api/v3/index.json" />
  </packageSources>
</configuration>

Для скачивания пакета через dotnet package download в .NET SDK 10 используйте этот же NuGet.Config:

dotnet package download AutoMapper@16.1.1 \
  --configfile NuGet.Config --output ./packages

Фильтрация registration metadata

При scan-manifest: true OSA Proxy проверяет версии в registration metadata. По умолчанию remove-blocked-versions: true: заблокированные версии удаляются из ответа.

Если на отдельной registration-странице заблокированы все версии, OSA Proxy возвращает HTTP 200 с items: [] и count: 0, сохраняя исходные границы lower и upper. Благодаря этому dotnet package download продолжает поиск разрешённой версии на следующих страницах вместо завершения с ошибкой блокировки страницы.

При remove-blocked-versions: false версии остаются в metadata как delisted с сообщением deprecation о блокирующей политике. Манифест возвращается даже при блокировке всех версий. При включённом scan-package прямое скачивание заблокированного .nupkg по-прежнему запрещено.

Страница была полезна?