восстановление dotnet не обновляется до новой версии при использовании * заполнителя в ссылке на пакет - PullRequest
0 голосов
/ 12 сентября 2018

Фон

  • .NET Core CLI (например, dotnet restore, dotnet build)
  • Файлы проекта в стиле SDK (например, <Project Sdk="Microsoft.NET.Sdk">)
  • Проект приложения, который зависит от пакета, который я публикую через сервер nuget.
  • Семантическое управление версиями моих пакетов (например, 1.6.10, это версия 1.6.9, с исправлениями, обратно совместимыми)
  • Ссылки на пакеты проектов в приложении с заполнителем патча (например, 1.6.*)
  • файл nuget.config (с указанием пути к папке пакетов и списком источников NuGet.)

Файл моего проекта для моего приложения может содержать:

<PackageReference Include="MyDataAccessLibrary" Version="1.6.*" />

Вот проблема: Когда я публикую новую версию своего пакета на сервере nuget, запуск dotnet restore на моем компьютере разработчика не загружает эту новую версию (если я уже собирался против предыдущая версия.)

Например, если я собирался использовать версию пакета 1.6.9, я ожидал, что dotnet restore обнаружит недавно опубликованную версию 1.6.10, установит ее и будет использовать при создании моего зависимого приложения. Это не был мой опыт на моей машине разработки. (На сервере сборки он работает нормально, потому что получает чистую копию для каждой сборки.)

Вот то, что я делал в качестве обходного пути на моей машине разработчика:

  • Отредактируйте файл проекта, заменив 1.6.* на 1.6.10.
  • Пробег dotnet restore
  • Смотрите, как будет загружена новая версия пакета
  • Отредактируйте файл проекта, вернув 1.6.10 обратно в 1.6.*

Вопрос: Как правильно сказать «пожалуйста, скачайте последний патч для пакета» в описанной выше ситуации?

1 Ответ

0 голосов
/ 25 сентября 2018

I думаю Я нашел ответ ... опция --no-cache при восстановлении dotnet.

dotnet restore --no-cache
...