dotnet опубликовать выходную папку? - PullRequest
0 голосов
/ 19 июня 2019

Команда dotnet publish, опубликованная в папке проектов bin/netcoreapp2.2/Debug/publish. Где netcoreapp2.2 предположительно изменяется в зависимости от версии dotnet, а Debug изменяется в зависимости от конфигурации, указанной в параметре -c.

Для целей CI / CD это явно нежелательно. В качестве альтернативы можно передать -o, чтобы передать явный выходной путь, но, опять же, в среде CI / CI этот путь должен находиться внутри структуры папок проекта, например, что-то вроде:

dotnet publish -o publish

Но поскольку команда publish объединяет все файлы, она берет предыдущие попытки публикации и рекурсивно сохраняет их. Этого можно избежать, либо явно очистив папку публикации, и / или добавив a в csproj для проекта, но теперь существует зависимость между сценарием сборки и csproj: если путь публикации изменяется в сценариях сборки по какой-либо причине без соответствующего обновления csproj вещи ломаются.

Таким образом, наименее хрупким вариантом, по-видимому, является использование пути вывода по умолчанию, так как он автоматически исключается из глобализации, но как удалить чувствительность к версии и конфигурации? Есть ли особенно безопасный способ заставить dotnet сообщить моей среде CI / CD, каков выходной путь для сборки / публикации?

1 Ответ

0 голосов
/ 19 июня 2019

IMP: мне не хватает репутации, чтобы добавить комментарий

см .: dotnet publish

youможно использовать относительный путь с опцией -o , и вы можете в конечном итоге избегать имени папки с явным указанием времени выполнения и идентификации платформы.

или , почему бы вам не рассмотреть возможность использованияКоманда build с профилем публикации , где вы можете указать явный путь.но обычно относительный путь менее подвержен ошибкам.

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

...