|
|
Publicado el 28-9-2019 16:38:47
|
|
|
|

Hace unos días, Microsoft lanzó .NET Core 3.0, y una de las mayores mejoras es el soporte para aplicaciones de escritorio de Windows (solo Windows). Utilizando el SDK .NET Core 3.0 Windows Desktop Component, puedes portar aplicaciones de Windows Forms y Windows Presentation Foundation (WPF). Para que quede claro, los componentes de escritorio de Windows son compatibles y solo están incluidos en Windows.
Dirección de descarga del SDK:El inicio de sesión del hipervínculo es visible.
Enlaces para introducir las funciones de .NET Core:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
Entre las características se encuentran las siguientes:
- Utiliza C# para crear aplicaciones web cliente interactivas y completas.
- Utiliza gRPC para crear servicios de backend de alto nivel.
- SignalR ahora soporta reconexión automática y flujos cliente-servidor.
- Utiliza la documentación de OpenAPI para generar código cliente fuertemente tipado para APIs web.
- El enrutamiento de endpoints está integrado a través del framework.
- Kestrel tiene HTTP/2 activado por defecto.
- API web integrada y soporte para autenticación de aplicaciones de una sola página.
- Se admiten certificados y autenticación por Kerberos.
- Integra el nuevo serializador System.Text.Json.
- El nuevo alojamiento universal establece servicios gestionados comunes como la inyección de dependencias, la configuración y el registro.
- Una nueva plantilla de Servicio al Trabajador para construir servicios a largo plazo.
- Se crean nuevos EventCounters para solicitudes por segundo, total, actuales y fallidas.
- Los errores de inicio alojados en IIS ahora se reportan al Registro de Eventos de Windows.
- Solicitar integración de pipeline System.IO.Pipelines.
- Mejoras de rendimiento en toda la pila tecnológica.
Creemos un nuevo proyecto de consola .NET Core 3.0 con VS 2019, como se muestra en la figura de abajo:
Referenciando el paquete Newtonsoft.Json, escribe unas pocas líneas de código, de la siguiente manera:
Hacemos clic derecho en VS Regenerate, luego abrimos el directorio bin del proyecto y vemos que se generarán varios archivos, incluyendo archivos :demo1.exe y Newtonsoft.Json.dll.
Publicar un ejecutable de un solo archivo
Método 1:
Ejecuta el siguiente comando en el directorio del proyecto:
Abrimos la carpeta C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, y veremos que se generan muchos archivos dll y hay una carpeta de publicación.
Ve a la carpeta de publicación,El tamaño del demo1.exe de visualización es 66M, que es el mismo tamaño que todos los archivos fuera de la carpeta, como se muestra en la figura siguiente:
El único archivo ejecutable generado contiene en realidad el entorno necesario para la ejecución del programa, y no requiere que el ordenador objetivo instale el SDK, y la desventaja es que el tamaño del archivo será muy grande.
Método 2:
Haz clic derecho frente a editar el archivo del proyecto y añadir la configuración del nodo PublishSingleFile, el código es el siguiente:
Luego haz clic derecho y haz clic en el botón "Publicar".
Enlaces de ensamblador
El SDK .NET core 3.0 viene con una herramienta que puede reducir el tamaño de tu aplicación analizando IL y recortando ensambladores no utilizados.
Las aplicaciones autónomas incluyen todo lo necesario para ejecutar código sin tener que instalar .NET en tu ordenador principal. Sin embargo, muchas veces la aplicación solo necesita una fracción del framework para ejecutarse, y otras bibliotecas no utilizadas pueden eliminarse.
.NET Core ahora incluye una configuración que escanea el IL de tu app usando la herramienta de enlace IL. Esta herramienta detectará qué código es necesario y luego recortará las bibliotecas no utilizadas. Esta herramienta puede reducir significativamente el tamaño de despliegue de algunas aplicaciones.
Para habilitar esta herramienta, utiliza la <PublishTrimmed> configuración de tu proyecto y publica una aplicación autónoma:
.NET Core CLI
Acabamos de generar un archivo de 66M, y tras añadir la configuración,Se convirtió en 35M, reduciendo la ocupación de 30M。
Asegúrate de considerar aplicaciones o frameworks que usen reflexiones o características dinámicas relacionadas (incluyendo ASP.NET Core y WPF).Normalmente se daña durante el corte。 Esta corrupción ocurre porque el enlazador no es consciente de este comportamiento dinámico y no puede determinar qué tipos de tramas son necesarios para la reflexión。 La herramienta de enlace IL puede configurarse para detectar esta situación.
Lo más importante es asegúrate de aplicarlo después de cortarloRealizar pruebas。
(Fin)
|
Anterior:Resolver que ajax no puede asignar valores a variables externasPróximo:El lenguaje C es tan poderoso, ¿en qué idioma está escrito?
|