Handling a new era in the Japanese calendar in .NET

Typically, calendar eras represent long time periods. In the Gregorian calendar, for example, the current era spans (as of this year) 2,018 years. In the Japanese calendar, however, a new era begins with the reign of a new emperor. On April 30, 2019, Emperor Akihito is expected to abdicate, which will bring to an end… Read more

Cross-platform Time Zones with .NET Core

Developing applications that span multiple operating systems in .NET Core while working with Time Zone information can lead to unexpected results for developers not familiar with the differences in how operating systems manage Time Zones. In this post, we will explore those differences and the challenges they present. Reproducing the issue Suppose you are writing… Read more

Understanding the Whys, Whats, and Whens of ValueTask

The .NET Framework 4 saw the introduction of the System.Threading.Tasks namespace, and with it the Task class. This type and the derived Task<TResult> have long since become a staple of .NET programming, key aspects of the asynchronous programming model introduced with C# 5 and its async / await keywords. In this post, I’ll cover the newer ValueTask/ValueTask<TResult> types, which were introduced to help improve asynchronous performance in… Read more

Using .NET Hardware Intrinsics API to accelerate machine learning scenarios

This week’s blog post is by Brian Lui, one of our summer interns on the .NET team, who’s been hard at work. Over to Brian: Hello everyone! This summer I interned in the .NET team, working on ML.NET, an open-source machine learning platform which enables .NET developers to build and use machine learning models in their… Read more

Are your Windows Forms and WPF applications ready for .NET Core 3.0?

Download Portability Analyzer (2.37 MB) At Build 2018 we announced that we are enabling Windows desktop applications (Windows Forms and Windows Presentation Framework (WPF)) with .NET Core 3.0. You will be able to run new and existing Windows desktop applications on .NET Core and enjoy all the benefits that .NET Core has to offer, such as application-local… Read more

Announcing .NET Standard 2.0

The .NET Standard 2.0 specification is now complete. It is supported in .NET Core 2.0, in the .NET Framework 4.6.1 and later versions, and in Visual Studio 15.3. You can start using .NET Standard 2.0 today. While this post demos .NET Standard in C#, it’s also supported in Visual Basic and F#. For more details, take a look at the… Read more

Introducing Support for Brotli Compression

This post was written by our software developer intern Denys Tsomenko, who worked on a Brotli compression library during his internship. Modern web-pages are getting larger and larger with huge CSS, HTML and JavaScript files. But the Internet connection isn’t always good and pages can load slowly. Web pages also often contain other materials such as… Read more

Performance Improvements in .NET Core

Update (2017/06/12): Added BenchmarkDotNet blog post link. There are many exciting aspects to .NET Core (open source, cross platform, x-copy deployable, etc.) that have been covered in posts on this blog before. To me, though, one of the most exciting aspects of .NET Core is performance. There’s been a lot of discussion about the significant advancements… Read more

Introducing .NET Standard

Questions? Check out the .NET Standard FAQ. You can find the latest version of the compatibility matrix here. In my last post, I talked about how we want to make porting to .NET Core easier. In this post, I’ll focus on how we’re making this plan a reality with .NET Standard. We’ll cover which APIs we… Read more