Dotnet publish не создает папку при публикации веб-API - PullRequest
0 голосов
/ 19 октября 2018

Я пытался следовать нескольким ( пример ) учебникам о том, как разместить веб-API asp.net в образе докера.И почти все они используют файл Docker, в котором выполняется следующая команда dotnet [csproj name] -c Release -o out, а затем в конечном итоге копируют информацию из этой папки в другую папку.Тем не менее, я продолжал получать проблемы с папкой не найден.Поэтому я решил использовать эту команду локально, и, к моему изумлению, обнаружил, что папка out не создается и ничего не создается.

Когда мы смотрим на документацию dotnet publish на it , мы видим, что он говорит следующее:

Упаковывает приложение и его зависимости впапка для развертывания в хост-систему.

и

-o|--output <OUTPUT_DIRECTORY> Указывает путь к выходному каталогу.Если не указано, по умолчанию используется ./bin/[configuration]/[framework]/publish/ для развертывания, зависящего от платформы, или ./bin/[configuration]/[framework]/[runtime]/prlish/ для самостоятельнойсдержанное развертывание.Если путь относительный, сгенерированный выходной каталог относится к местоположению файла проекта, а не к текущему рабочему каталогу.

И да, я попробовал почти все решения из здесь.

Мне кажется, что эта команда должна создать новую папку, в которую будут помещены все опубликованные файлы.Итак, мой вопрос: я ошибаюсь, или здесь есть проблема, и как ее решить?

1 Ответ

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

Да, это создаст выходную папку, однако до инструментария .NET Core 3.0 любой неабсолютный путь интерпретируется относительно каталога проекта.

Так что до 3.0 dotnet publish subdir(project.csproj -o otherdir будет создавать subdir/otherdir directory.

Также обратите внимание, что dotnet publish напечатает путь, по которому он публикуется, в своих выходных данных.

...