Сборка ASP. Net Базовый пакет развертывания на Linux - PullRequest
1 голос
/ 17 июня 2020

Я пытаюсь создать пакет веб-развертывания на образе. net core sdk docker, который будет использоваться для развертывания на сервере windows, на котором запущен iis (развертывание выполняется на отдельном windows vm) . Это команда, которую я выполняю (это также можно сделать через пользовательский интерфейс publi sh в Visual Studio):

dotnet publish src/SpaceForce.sln -c release -o out -p:WebPublishMethod=Package;PackageAsSingleFile=True;DesktopBuildPackageLocation="../Package/SpaceForce.WebAPI.zip"

На Windows это создает папку со следующими файлами, а затем, когда я Я готов к развертыванию, я просто запустил cmd-файл:

SpaceForce.WebAPI.deploy.cmd
SpaceForce.WebAPI.deploy-readme.txt
SpaceForce.WebAPI.Parameters.xml
SpaceForce.WebAPI.SetParameters.xml
SpaceForce.WebAPI.SourceManifest.xml
SpaceForce.WebAPI.zip

, но на Linux (. net core sdk docker image) он выдает следующую ошибку:

/usr/share/dotnet/sdk/3.1.300/Sdks/Microsoft.NET.Sdk.Publish/targets/PublishTargets/Microsoft.NET.Sdk.Publish.MSDeployPackage.targets(97,5): error MSB6004: The specified task executable location "%ProgramW6432%/IIS/Microsoft Web Deploy V3/msdeploy.exe" is invalid. [/home/osboxes/src/spaceforce/src/SpaceForce.WebAPI/SpaceForce.WebAPI.csproj]

на этой странице , на ней есть это примечание, но я не уверен, применимо ли это в моем случае:

Команда dotnet msbuild является кроссплатформенной команда и может компилировать ASP. NET Core приложения в macOS и Linux. Однако MSBuild на macOS и Linux не может развернуть приложение на Azure или других конечных точках MSDeploy.

Если я могу использовать linux, я буду рад запустить cmd в поле windows для развертывания. Можно ли собрать этот пакет на linux?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...