Оказывается, все дело в идентификаторе времени выполнения.Путаница возникла из-за того, что я предполагал, что создавать и публиковать из dotnet-cli так же просто, как создавать и публиковать из Visual Studio.Публикация Visual Studio выполняла полное восстановление / сборку с ее публикацией, и в профиле публикации было установлено значение <RuntimeIdentifier>
.
Я сделал несколько вещей неправильно.Я не включал -r win-x64
в задачи восстановления и сборки, и я использовал dotnet publish --no-build
.Так вот откуда пришло одно несоответствие.Следующим было то, что я запускал dotnet test
после сборки и до публикации.Это уничтожило некоторые вещи, которые нужны для публикации, но я не уверен, что именно.
Я изменил dotnet test
, чтобы включить -p:RuntimeIdentifier=winx64
, так как, очевидно, он использует -r для вывода отчетов (очевидно, они добавляют -runtime в 2.2).
Некоторые вещи, которые я узнал в процессе, dotnet-cli делает НЕ хорошо работающими с файлами .sln, по крайней мере, в агентах сборки.Кажется, есть большая проблема с блокировками файлов и общими процессами.Попытка оптимизировать задачи сборки для минимизации работы с dotnet-cli - большая проблема в заднице.