Мой конвейер сборки состоит из нескольких этапов. Один из них dotnet test
и сразу после него dotnet publish
. Обе команды выполняются с несколькими аргументами:
dotnet test --configuration Release -p:DefineConstants=TEST_PHASE
dotnet publish --configuration Release --self-contained --runtime win-x64 --output bin/publish
Как видите, во время тестирования я определяю дополнительные определяющие константы TEST_PHASE
.
Теперь к проблеме. Похоже, что команда publish не учитывает отсутствие TEST_PHASE
и повторно использует существующие библиотеки DLL.
Я никогда раньше не сталкивался с этой проблемой при использовании того же конвейера, и похоже, что проблема появилась, как только я обновился до dotnet sdk 3.00,100. Я не смог найти никакой информации об этом поведении.