Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Software-update: .Net Core 3.1.0

Microsoft heeft .Net Core versie 3.1.0 uitgegeven. Dit is een modulair platform voor het maken van webapplicaties en services die draaien op Linux, macOS en Windows. Het maakt natuurlijk gebruik van .Net en je kunt het vergelijken met Node.js of Go. Het geheel wordt onder een mix van MIT-, Apache 2- en CC BY 4.0-licenties uitgegeven. Deze uitgave is voorzien van de volgende aankondiging op het .Net Blog:

Announcing .NET Core 3.1

We’re excited to announce the release of .NET Core 3.1. It’s really just a small set of fixes and refinements over .NET Core 3.0, which we released just over two months ago. The most important feature is that .NET Core 3.1 is an long-term supported (LTS) release and will be supported for three years. As we’ve done in the past, we wanted to take our time before releasing the next LTS release. The extra two months (after .NET Core 3.0) allowed us to select and implement the right set of improvements over what was already a very stable base. .NET Core 3.1 is now ready to be used wherever your imagination or business need takes it.

ASP.NET Core and EF Core are also being released today.

Visual Studio 2019 16.4 was also released today and includes .NET Core 3.1. It is a required update to use .NET Core 3.1 with Visual Studio. For Visual Studio 2019 users, we recommend simply updating Visual Studio to 16.4 and instead of separately downloading .NET Core 3.1.

Visual Studio for Mac also supports and includes .NET Core 3.1, in the Visual Studio for Mac 8.4 Preview channel. You will need to opt into the Preview channel to use .NET Core 3.1.

Release notes: The changes in .NET Core 3.1 were primarily focussed on Blazor and Windows Desktop, the two new and large additions in .NET Core 3.0. This includes support for C++/CLI, which has been a regular request for developers targeting Windows.

Before we take a look at what’s new in .NET Core 3.1, let’s take a quick look at the key improvements in .NET Core 3.0, which is the bulk of what’s important to consider for .NET Core 3.1.

Recap of .NET Core 3.0 Improvements

The following key improvements were delivered in .NET Core 3.0. We’ve already heard from developers of big sites that it is working super well for them.
  • .NET Core 3.0 is already battle-tested by being hosted for months at dot.net and on Bing.com. Many other Microsoft teams will soon be deploying large workloads on .NET Core 3.1 in production.
  • Performance is greatly improved across many components and is described in detail at Performance Improvements in .NET Core 3.0 and Hardware Intrinsics in .NET Core.
  • C# 8 add async streams, range/index, more patterns, and nullable reference types. Nullable enables you to directly target the flaws in code that lead to NullReferenceException. The lowest layer of the framework libraries has been annotated, so that you know when to expect null.
  • F# 4.7 focuses on making some thing easier with implicit yield expressions and some syntax relaxations. It also includes support for LangVersion, and ships with nameof and opening of static classes in preview. The F# Core Library now also targets .NET Standard 2.0. You can read more at Announcing F# 4.7.
  • .NET Standard 2.1 increases the set of types you can use in code that can be used woth both .NET Core and Xamarin. .NET Standard 2.1 includes types since .NET Core 2.1.
  • Windows Desktop apps are now supported with .NET Core, for both Windows Forms and WPF (and open source). The WPF designer is part of Visual Studio 2019. The Windows Forms designer is in preview and available as a download.
  • .NET Core apps now have executables by default. In past releases, apps needed to be launched via the dotnet command, like dotnet myapp.dll. Apps can now be launched with an app-specific executable, like myapp or ./myapp, depending on the operating system.
  • High performance JSON APIs have been added, for reader/writer, object model and serialization scenarios. These APIs were built from scratch on top of Span and use UTF8 under the covers instead of UTF16 (like string). These APIs minimize allocations, resulting in faster performance, and much less work for the garbage collector. See Try the new System.Text.Json APIs.
  • The garbage collector uses less memory by default, often a lot less. This improvement is very beneficial for scenarios where many applications are hosted on the same server. The garbage collector has also been updated to make better use of large numbers of cores, on machines with >64 cores. See Making CPU configuration better for GC on machines with > 64 CPUs.
  • .NET Core has been hardened for Docker to enable .NET applications to work predictably and efficiently in containers. The garbage collector and thread pool have been updated to work much better when a container has been configured for limited memory or CPU. .NET Core docker images are smaller, particularly the SDK image. See: Running with Server GC in a Small Container Scenario Part 0, Running with Server GC in a Small Container Scenario Part 1 – Hard Limit for the GC Heap and Using .NET and Docker Together – DockerCon 2019 Update.
  • Raspberry Pi and ARM chips are now supported to enable IoT development, including with the remote Visual Studio debugger. You can deploy apps that listen to sensors, and print messages or images on a display, all using the new GPIO APIs. ASP.NET can be used to expose data as an API or as a site that enables configuring an IoT device.
Platform support
.NET Core 3.1 is supported on the following operating systems:
  • Alpine: 3.10+
  • Debian: 9+
  • Ubuntu: 16.04+
  • Fedora: 29+
  • RHEL: 6+
  • openSUSE: 15+
  • SUSE Enterprise Linux (SLES): 12 SP2+
  • macOS: 10.13+
  • Windows Client: 7, 8.1, 10 (1607+)
  • Windows Server: 2012 R2+
Note: Windows Forms and WPF apps are only functional and supported on Windows.

Chip support follows:
  • x64 on Windows, macOS, and Linux
  • x86 on Windows
  • ARM32 on Windows and Linux
  • ARM64 on Linux (kernel 4.14+)
Note: Please ensure that .NET Core 3.1 ARM64 deployments use Linux kernel 4.14 version or later. For example, Ubuntu 18.04 satisfies this requirement, but 16.04 does not.
Versienummer 3.1.0
Releasestatus Final
Besturingssystemen Windows 7, Linux, macOS, Windows 8, Windows 10
Website Microsoft
Download https://dotnet.microsoft.com/download/dotnet-core/3.1
Licentietype Voorwaarden (GNU/BSD/etc.)

Reacties (24)

Wijzig sortering
Hoera, eindelijk een LTS :)
Ik vind het best snel in vergelijking met 2.0 naar 2.1, maar wel mooi :)
EDIT: aanpassing i.v.m. geneuzel over taalcorrectheid

[Reactie gewijzigd door FerronN op 14 december 2019 00:55]

Ik vind het best snel i.v.m. 2.0 naar 2.1, maar wel mooi :)
.NET core 2.1 kwam ruim anderhalf jaar geleden uit, dus welk verband bedoel je?
offtopic:
Je weet wat i.v.m. betekent?
2.0 kwam op uit op 14-08-2017 en de LTS 2.1 pas op 30-05-2018. Dat is ruim negen maanden. Tussen 3.0 en LTS 3.1 zit nu maar 1,5 maand :)

Ja ik weet wat de afkorting betekent, maar lijkt mij toch wel logisch wat ik bedoel...

[Reactie gewijzigd door FerronN op 13 december 2019 21:39]

Ja ik weet wat de afkorting betekent, maar lijkt mij toch wel logisch wat ik bedoel...
Als ik communiceer probeer ik de betekenis van woorden en afkortingen te behouden. Als ik zou bedoelen "in vergelijking met" dan zou ik niet zeggen "in verband met". Maar ik ben raar.
Volgens mij denks @FerronN dat i.v.m. "in vergelijking met" betekent, terwijl deze afkorting nooit iets met vergelijken te maken heeft gehad.... Maarja taal hè, we we lijken soms allemaal woorden en betekenissen erbij te bedenken tegenwoordig, niet alleen maar een Tweakers-dingetje... Laat staan de dyslectici (is dat een bestaand woord?!) onder ons....

Dan ben ik ook een rare kronkel. Twee rare kronkels, lijkt wel een begin van een mop.... }>
Het hele idee van taal is gedachten van persoon 1 overbrengen naar persoon 2

Nieuwer gedachtengoed = nieuwere taal

Zo heet dat ding waar ik vannochtend over struikelde een stofzuiger een niet een mahische contraptie dat door middel van gevangen bliksem stof vsn de vloer laat verdwijnen
Was deze niet al 3 december uit?
Jep, beetje trage melding hier :)
Sinds kort ben ik .net core weer aan het oppakken omdat het een stuk ‘volwassener’ is geworden. Zeker met Linq en het entity framework. Maar het maken van een pdf is helaas nog wel een ramp...
Is er een taal/framework waar een pdf maken wel makkelijk is? Misschien interessant om in een aparte (micro)service te draaien.
Is er een taal/framework waar een pdf maken wel makkelijk is?
Ghostscript met haar bindings.

Toch is het de vraag of het per se een PDF moet zijn.
Microservicen gaat niet helpen met het feit dat documentgeneratie altijd vervelend is. Een PDF maken is makkelijk ongeacht welke technologie je gebruikt, als het moet voer je simpelweg een shell tool uit.

Een PDF maken die gevoerd wordt met variabele data en over meerdere pagina's kan groeien, is zeer vervelend werk.

Een PDF maken wat officiele documenten voor gaat stellen (polis, certificaat, etc.) en dus extreem precies moeten zijn en wellicht meertalig - potentieel een hels karwij niet alleen om te moeten maken maar ook om te moeten onderhouden. Ik zou het zelf niet willen doen zonder JasperReports.
Hoe zit dat met PHP dan? Ik ben juist bezig met het ombouwen van een module van PHP met Laravel naar .NET core. Bij Laravel was het implementeren van een PDF (factuur) en het versturen hiervan hooguit twee uurtjes werk.
Een microservice kan wellicht de oplossingen zijn. Mijn einddoel was wel om aan razor een model mee te geven en tegen mijn view te zeggen ‘zoek het maar uit have fun dit is je data’ :p

Bij een microservice ben ik bang dat de solution een beetje rommelig wordt, maar je bedoeld dan iets als NodeJS en een lokale API call?
Ik bedoel met een microservice, een onafhankelijke service in eender welke taal die bijvoorbeeld een template en data kan ontvangen. Template in de vorm van html of tekst en data als keyvalue pair. Maar als ik hieraan denk zijn er ook gewoon oplossingen in .net die dat kunnen (met hulp van wktohtml). Alhoewel ik dat niet echt fijn werken vind.
Dit is denk ik niet een nadeel van .Net Core, maar meer een side effect van het platform onafhankelijk zijn.

De meeste PDF libraries zijn redelijk gekoppeld aan een platform. Vroeger werd de printer spooler nog wel eens gebruikt :X

Volwassen is het zeker, er worden al zat enterprise applicaties mee gebouwd.
En uit eigen ervaring, dat bevalt best goed.

[Reactie gewijzigd door SiErRa op 13 december 2019 21:46]

Officiële support voor RasberryPI en de GPIO _/-\o_
Mooi dit, alleen vraag ik me af welke versies want daar vind ik niks over terug.
In het verleden (2.2) al geprobeerd op een Raspberry pi 1b maar dit werkte dus niet, je had een bepaalde ARM instructieset nodig. Jammer dat dit niet zo duidelijk gespecificeerd is.

Zal het in ieder geval eerstdaags proberen.
Mooi dat 3.1 er nu officeieel is...dan gaan we nu snel de PowerShell RC 7.0 krijgen...
https://redmondmag.com/ar...january-2020-release.aspx
Node.js > .NET core
Wat is je punt? Misschien even uitleggen wat je bedoeld, daar wij niet in jouw hoofd wonen.

[Reactie gewijzigd door Jack Flushell op 15 december 2019 23:27]

Ik ben van overtuigd dat Node.js beter is dan .NET Core. Daarom zei ik "Node.js > .NET core"

Op dit item kan niet meer gereageerd worden.


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True