Принудительно оценивать плавающие версии пакетов с помощью файла блокировки через MsBuild / csproj - PullRequest
0 голосов
/ 21 ноября 2018

Я хочу использовать блокирующие зависимости Nuget (> = 4.9), чтобы иметь возможность автоматического обновления пакета во время фазы разработки и фиксированной версии во время сборки релиза.

Я включил режим файла блокировки, поэтому ятеперь есть файл packages.lock.json.

Проблема в том, что когда в файле проекта есть плавающая версия ссылок на пакеты, например:

<PackageReference Include="My.Nuget.Package" Version="1.0.*" />

Пакет восстановления через Visual Studio Build больше не обновляется до новой версии пакетов.Такое поведение появилось после того, как я активировал файл блокировки.

Документация Microsoft описывает параметр --force-evaluate с dotnet.exe, который работает хорошо, но я хочу сделать это напрямую с параметром MsBuildв csproj.

При проверке кода клиента NuGet кажется, что в Msbuild NuGet.targets существует опция RestoreForceEvaluate, но я не знаю, как ее использовать.

1 Ответ

0 голосов
/ 21 ноября 2018

При проверке кода клиента NuGet кажется, что в Msbuild NuGet.targets существует опция RestoreForceEvaluate, но я не знаю, как ее использовать.

Боюсь, мы не смоглисделай это в данный момент.Согласно Nuget Wiki,

Включить повторное восстановление пакета с помощью файла блокировки :

enter image description here

Неттакая эквивалентная опция MSBuild для опции --force-evaluate, поэтому мы не можем напрямую использовать --force-evaluate с опцией MsBuild в csproj.

Надеюсь, это поможет.

...