|
|
Pubblicato il 28-09-2019 16:38:47
|
|
|
|

Qualche giorno fa, Microsoft ha rilasciato .NET Core 3.0, e uno dei miglioramenti più grandi è il supporto per applicazioni desktop Windows (solo Windows). Utilizzando il .NET Core 3.0 SDK Windows Desktop Component, puoi portare applicazioni Windows Forms e Windows Presentation Foundation (WPF). Per essere chiari, i componenti desktop di Windows sono supportati e inclusi solo su Windows.
Indirizzo di download SDK:Il login del link ipertestuale è visibile.
Link per introdurre le funzionalità di .NET Core:
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Le caratteristiche includono le seguenti:
- Usa C# per costruire applicazioni web client ricche e interattive.
- Usa gRPC per creare servizi backend ad alte prestazioni.
- SignalR ora supporta la riconnessione automatica e i flussi client-server.
- Usa la documentazione OpenAPI per generare codice client fortemente tipizzato per le Web API.
- L'instradamento degli endpoint è integrato attraverso il framework.
- Kestrel ha HTTP/2 abilitato di default.
- Supporto integrato per API web e autenticazione di app a pagina singola.
- Sono supportati certificati e autenticazione Kerberos.
- Integra il nuovo serializer System.Text.Json.
- Il nuovo hosting universale imposta servizi gestiti comuni come l'iniezione di dipendenze, la configurazione e la log.
- Un nuovo modello di Servizio Lavoratori per costruire servizi a lungo termine.
- Nuovi EventCounter vengono creati per richieste per secondo, totali, attuali e richieste fallite.
- Gli errori di avvio ospitati in IIS vengono ora segnalati al registro eventi di Windows.
- Richiedi integrazione pipeline System.IO.Pipelines.
- Miglioramenti delle prestazioni su tutto lo stack tecnologico.
Creiamo un nuovo progetto console .NET Core 3.0 con VS 2019, come mostrato nella figura qui sotto:
Facendo riferimento al pacchetto Newtonsoft.Json, scrivi alcune righe di codice, come segue:
Facciamo clic destro su VS Regenerate, poi apriamo la cartella bin del progetto e scopriamo che verranno generati diversi file, inclusi :demo1.exe e Newtonsoft.Json.dll.
Pubblica un eseguibile a singolo file
Metodo 1:
Esegui il seguente comando nella directory del progetto:
Apriamo la cartella C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 e vedremo che molti file dll sono generati e c'è una cartella di pubblicazione.
Vai nella cartella di pubblicazione,La dimensione della demo1.exe di visualizzazione è 66M, che corrisponde alla dimensione di tutti i file esterni alla cartella, come mostrato nella figura sottostante:
Il singolo file eseguibile generato contiene in realtà l'ambiente necessario per l'esecuzione del programma e non richiede che il computer di destinazione installi l'SDK, e lo svantaggio è che la dimensione del file diventerà molto grande.
Metodo 2:
Clicca con il tasto destro rispetto a modificare il file di progetto e aggiungere la configurazione del nodo PublishSingleFile, il codice è il seguente:
Poi clicca con il tasto destro e clicca sul pulsante "Pubblica".
Collegamenti assembly
L'SDK .NET core 3.0 include uno strumento che può ridurre le dimensioni della tua app analizzando IL e ritagliando assembly inutilizzati.
Le app autonome includono tutto ciò che serve per eseguire codice senza dover installare .NET sul computer principale. Tuttavia, spesso l'app ha bisogno solo di una frazione del framework per essere eseguita, e altre librerie inutilizzate possono essere rimaste.
.NET Core ora include un'impostazione che scansiona l'IL della tua app usando lo strumento IL linker. Questo strumento rileverà quale codice è necessario e poi ritaglia librerie inutilizzate. Questo strumento può ridurre significativamente la dimensione di distribuzione di alcune applicazioni.
Per abilitare questo strumento, usa le <PublishTrimmed> impostazioni del tuo progetto e pubblica un'app autonoma:
.NET Core CLI
Abbiamo appena generato un file 66M e, dopo aver aggiunto la configurazione,È diventato 35M, riducendo l'occupazione di 30M。
Assicurati di considerare applicazioni o framework che utilizzano riflessioni o funzionalità dinamiche correlate (inclusi ASP.NET Core e WPF)Di solito danneggiata durante il taglio。 Questa corruzione si verifica perché il linker non è consapevole di questo comportamento dinamico e non può determinare quali tipi di frame siano necessari per la riflessione。 Lo strumento IL linker può essere configurato per individuare questa situazione.
La cosa più importante è assicurarsi di applicarla dopo il taglioConduzione dei test。
(Fine)
|
Precedente:Risolvere ajax che non è possibile assegnare valori a variabili esterneProssimo:La lingua C è così potente, in che lingua è scritta?
|