Estoy tratando de crear un paquete de implementación web en la imagen de la ventana acoplable sdk de .net core que se usará para implementar en un servidor de Windows que ejecuta iis (la implementación se realiza en una máquina virtual de Windows separada). Este es el comando que estoy ejecutando (esto también se puede hacer a través de la interfaz de usuario de publicación en Visual Studio):
dotnet publish src/SpaceForce.sln -c release -o out -p:WebPublishMethod=Package;PackageAsSingleFile=True;DesktopBuildPackageLocation="../Package/SpaceForce.WebAPI.zip"En Windows, esto produce una carpeta con los siguientes archivos y luego, cuando estoy listo para implementar, simplemente ejecuto el archivo cmd:
SpaceForce.WebAPI.deploy.cmd SpaceForce.WebAPI.deploy-readme.txt SpaceForce.WebAPI.Parameters.xml SpaceForce.WebAPI.SetParameters.xml SpaceForce.WebAPI.SourceManifest.xml SpaceForce.WebAPI.zippero en Linux (.net core sdk docker image) produce el siguiente error:
/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]en esta página , tiene esta nota, pero no estoy seguro si esto se aplica en mi caso:
El comando
dotnet msbuildes un comando multiplataforma y puede compilar aplicaciones ASP.NET Core en macOS y Linux. Sin embargo, MSBuild en macOS y Linux no es capaz de implementar una aplicación en Azure u otros puntos finales de MSDeploy.
Si puedo construir en Linux, estoy feliz de ejecutar el archivo cmd en un cuadro de Windows para su implementación. ¿Es posible construir este paquete en Linux?