es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

dotnet publish osx-x64 no genera un archivo ejecutable.

Tengo un proyecto Avalonia que estoy intentando compilar para Mac. Pero cuando uso “dotnet publish” para generar la compilación para OSX, no se genera ningún archivo ejecutable. Genera un archivo .dll con el mismo nombre del programa (el mismo nombre que debería tener el ejecutable) y también un archivo sin extensión con el mismo nombre. Para hacer esto utilizo el siguiente comando:

dotnet publish "ruta de la solución de VisualStudio" -c Release -f netcoreapp3.1 -r osx-x64 -p:UseAppHost=True --self-contained true -o "ruta de salida"

Según leí aquí, también agregué “UseAppHost True” en las propiedades de mi proyecto. Se ven así:


Exe
netcoreapp3.1
win7-x64;osx-x64;ubuntu.16.04-x64
enable
preview
True


Estoy perdido en cuanto a cómo hacer que “dotnet publish” genere un archivo ejecutable real para Mac. ¿Alguien sabe qué estoy haciendo mal y qué debo hacer? Gracias.

Edit: Lo estoy haciendo en Windows 10.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que has seguido los pasos correctos en tu comando dotnet publish y también has agregado la propiedad UseAppHost en tu archivo de proyecto. Sin embargo, el problema puede estar en el hecho de que estás ejecutando este comando en una máquina con Windows 10 para generar un build para macOS.

    Para generar un ejecutable para macOS, es posible que necesites compilar tu aplicación en una máquina con macOS o utilizar una herramienta como Mono para ejecutar la aplicación .NET Core en macOS.

    Otra opción sería utilizar un servicio de generación de builds basado en la nube, como Azure DevOps o Travis CI, los cuales pueden generar builds para múltiples plataformas, incluyendo macOS.

    En resumen, se recomienda construir tu proyecto Avalonia para macOS en una máquina con macOS o utilizar una herramienta de construcción multiplataforma para generar el archivo ejecutable.

Comments are closed.