.Net Core3 new features finishing

.net core 3 to achieve the standard .net 2.1.

1, to generate an executable file

Previous version requires dotnet run to run the project, .net core 3 supports direct generation target platform executable files. For example, the windows is the exe, linux on the + x.

 

2, a copy of dependencies

Previous versions will not replicate in the build NuGet tools to the target directory, the new version is copied, but not including razor and links (links meaning is not clear).

 

3, the local tool

This tool refers NuGet package, before 2.1 supports global, the new version supports placed dotnet-tools.json manifest file in the directory, and then use dotnet tool restore command reload.

The old version of the tool is still dependent on the old version of the .net core SDK.

 

4, support for WPF and Windows Froms

This in many domestic news has been introduced, the fact that these news only concerned with this one.

Sdk set up the project file is Microsoft.NET.Sdk.WindowsDesktop, add <UseWPF> true </ UseWPF> and or <UseWindowsForms> true </ UseWindowsForms> to add support.

 

5, built-in JSON parser fast

System.Text.Json.Utf8JsonReader, this was only read forward (forward-only reader), uses less memory, general performance is Newton JSON.net twice, this is to force Oh! It should reduce dependence on Newton's many projects.

Now only reader, it will have: JSON is written, DOM (random access), poco serializer, poco deserializer.

The new Span <T> has a great advantage for high-performance character analysis program, including the Kestrel also benefited. (Kestrel is Microsoft's cross-platform, high-performance web server-based libuv now should be the strongest, but I have not compare it with the information of h2o)

 

6, and the index range

This should be another 100 long to absorb the masterpiece, Python support for the index is in place, and now also supports .net (C # 8.0 has started).

[1,2,3][0] // 1

[2,3] [1 ^] // output 3, an inverted index

[1,2,3,4,5] [1 .. ^ 2] // Output [2,3,4] Range Index

 

7, asynchronous flow

Another new language features, but also to C # 8.0 support.

IAsyncEnumerable <T>, IEnumerable <T> asynchronous version.

Asynchronous enumerator, can yield return in the middle of foreach await. The official version is recommended re-use, there are still bug.

 

8, Type: SequenceReader sequence reader

With the aforementioned Span <T>, for high efficiency, simple, low allocation analyze text reading, for example, dividing CRLF.

9, Type: MetadataLoadContext load data element description

Some information may be reflected in the assembly, but can not perform Invoke assembly. Software tools for guiding the activation of certain functions or runtime scenario for it to release the file lock assemblies or with a temporary memory like it it it ......

10, supported on Linux TLS 1.3 and OpenSSL 1.1.1

Use SslStream place, will automatically search for the latest version of OpenSSL Linux installed, use as TLS1.3. Because TLS1.3 faster, fewer steps. And in particular version of SSL on Linux there are loopholes ...... OpenSSL vulnerabilities.

11, AES-GCM and AES-CCM encryption algorithm support

System.Security.Cryptography.AesGcm,System.Security.Cryptography.AesCcm可用。均使用AEAD算法(Authenticated Encryption with Association Data (AEAD) algorithms)。

12, the encryption key deriving introduced

X.509 certificates can be imported without a standard RSA, DSA, ECDsa, ECDiffieHellman public key certificates, and PKCS # 8 private key certificate.

13, serial port support on Linux

I do not understand this, that previously only supported Windows, Linux and now they like.

14, optimization of existing features a lot

String do in the dictionary key will be more efficient, HttpClient supports lossless compression Brotli, many of which are not necessary to modify the code can benefit.

15, layered compilation

.net 2.1 new features core, 2.2 preview version of the default boot, when officially changed to the optional 2.2, 3.0 is now enabled by default ...... twists and turns.

This stock can improve startup performance, better JIT performance, increase throughput.

16, Linux's ARM64

Ha, Windows does not. IoT issues now.

 

 

More:

.net core problems using GB2312 encoding

.Net Core EF use finishing collection

.Net Core URL encoding and decoding

Guess you like

Origin www.cnblogs.com/tianma3798/p/11578711.html