MSBUILD: ошибка MSB1008: можно указать только один проект. Переключатель: Выпуск

#.net-core #msbuild #dotnet-publish

#.net-core #msbuild #dotnet-опубликовать

Вопрос:

Я пытаюсь опубликовать свой код на сервере Linux с помощью

 dotnet publish –-configuration Release
  

в командной строке терминала. Это должно создать папку в bin / release / publish со всеми файлами, готовыми к развертыванию на сервере.

однако я получаю сообщение об ошибке, в котором говорится

«MSBUILD: ошибка MSB1008: можно указать только один проект. Switch: Release» и ничего не публикуется в папке bin.

Я создал папку settings.json в папке vscode

 {
 "deploy.reloaded": {
     "packages": [
         {
             "name": "Version 1.0.0",
             "description": "Package version 1.0.0",

             "files": [
                 "Schedule.API/bin/Release/netcoreapp3.0/publish/**"
             ]
         }
     ],

     "targets": [
         {
             "type": "sftp",
             "name": "Linux",
             "description": "SFTP folder",

             "host": "192.168.0.152", "port": 22,
             "user": "webuser", "password": "password",

             "dir": "/var/www/schedule",
             "mappings": {
                 "Schedule.API/bin/Release/netcoreapp3.0/publish/**": "/"
             }
         }
     ]
 }
}
  

Ответ №1:

Похоже, у вас ошибка копирования / вставки в первом тире здесь:

 dotnet publish –-configuration Release
  

Первая черта — ( U 2013 : EN DASH ). Это должно быть простое тире - ( U 002D : HYPHEN-MINUS ), как и второе. Это должно сработать:

 dotnet publish --configuration Release