.NET Archive

.NET 8 released

With this release, .NET reshapes the way we build intelligent, cloud-native applications and high-traffic services that scale on demand. Whether you’re deploying to Linux or Windows, using containers or a cloud app model of your choice, .NET 8 makes building these apps easier. It includes a set of proven libraries that are used today by the many high-scale services at Microsoft to help you with fundamental challenges around observability, resiliency, scalability, manageability, and more. Integrate large language models (LLMs) like OpenAI’s GPT directly into your .NET app. Use a single powerful component model to handle all your web UI needs with Blazor. Deploy your mobile applications to the latest version of iOS and Android with .NET MAUI. Discover new language enhancements that make your code more concise and expressive with C# 12. It’s still wild to me to that Microsoft provides detailed installation instructions for .NET for a variety of Linux distributions, down to stuff like Alpine.

How small is the smallest .NET Hello World binary?

Here is a dumb question that you probably never asked yourself: What is the minimal amount of bytes we need to store in a .NET executable to have the CLR print the string "Hello, World!" to the standard output? In this post, we will explore the limits of the .NET module file format, get it as small as possible, while still having it function like a normal executable on a typical Windows machine with the .NET Framework installed. The answer is “way, way smaller than I thought”.

.NET 6 released

Welcome to .NET 6. Today’s release is the result of just over a year’s worth of effort by the .NET Team and community. C# 10 and F# 6 deliver language improvements that make your code simpler and better. There are massive gains in performance, which we’ve seen dropping the cost of hosting cloud services at Microsoft. .NET 6 is the first release that natively supports Apple Silicon (Arm64) and has also been improved for Windows Arm64. We built a new dynamic profile-guided optimization (PGO) system that delivers deep optimizations that are only possible at runtime. Cloud diagnostics have been improved with dotnet monitor and OpenTelemetry. WebAssembly support is more capable and performant. New APIs have been added, for HTTP/3, processing JSON, mathematics, and directly manipulating memory. .NET 6 will be supported for three years. Developers have already started upgrading applications to .NET 6 and we’ve heard great early results in production. .NET 6 is ready for your app. It’s available on Linux, Windows, and macOS.

Microsoft reverses controversial .NET change after open source community outcry

Microsoft is reversing a decision to remove a key feature from its upcoming .NET 6 release, after a public outcry from the open source community. Microsoft angered the .NET open source community earlier this week by removing a key part of Hot Reload in the upcoming release of .NET 6, a feature that allows developers to modify source code while an app is running and immediately see the results. It’s a feature many had been looking forward to using in Visual Studio Code and across multiple platforms, until Microsoft made a controversial last-minute decision to lock it to Visual Studio 2022 which is a paid product that’s limited to Windows. Sources at Microsoft, speaking on condition of anonymity, told The Verge that the last-minute change was made by Julia Liuson, the head of Microsoft’s developer division, and was a business-focused move. The scorpion and the frog make it a little further across the river. For now.

Performance improvements in .NET 6

I at least peruse if not review in depth the vast majority of all those PRs, and every time I see a PR that is likely to impact performance, I make a note of it in a running log, giving me a long list of improvements I can revisit when it’s blog time. That made this August a little daunting, as I sat down to write this post and was faced with the list I’d curated of almost 550 PRs. Don’t worry, I don’t cover all of them here, but grab a large mug of your favorite hot beverage, and settle in: this post takes a rip-roarin’ tour through ~400 PRs that, all together, significantly improve .NET performance for .NET 6. You might want to get some coffee.

.NET 5.0 released

We’re excited to release .NET 5.0 today and for you to start using it. It’s a major release — including C# 9 and F# 5 — with a broad set of new features and compelling improvements. It’s already in active use by teams at Microsoft and other companies, in production and for performance testing. Those teams are showing us great results that demonstrate performance gains and/or opportunities to reduce hosting costs for their web applications. ASP.NET Core, EF Core, C# 9, and F# 5 are also released today. You can download .NET 5.0 for Windows, macOS, and Linux on both x86 and ARM.

Microsoft plots the end of Visual Basic

Microsoft said this week that it will support Visual Basic on .NET 5.0 but will no longer add new features or evolve the language. “Starting with .NET 5, Visual Basic will support Class Library, Console, Windows Forms, WPF, Worker Service, ASP.NET Core Web API … to provide a good path forward for the existing VB customer who want to migrate their applications to .NET Core,” the .NET team wrote in a post to the Microsoft DevBlogs. “Going forward, we do not plan to evolve Visual Basic as a language … The future of Visual Basic … will focus on stability, the application types listed above, and compatibility between the .NET Core and .NET Framework versions of Visual Basic.” Alright then.

Announcing .NET Core 3.0

We’re excited to announce the release of .NET Core 3.0. It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async streams, and more patterns. F# 4.7 is included, and focused on relaxing syntax and targeting .NET Standard 2.0. You can start updating existing projects to target .NET Core 3.0 today. The release is compatible with previous versions, making updating easy.

Introducing .NET 5

Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family. There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more. We will introduce new .NET APIs, runtime capabilities and language features as part of .NET 5. This will be a Microsoft-heavy day, since Microsoft’s developer conference is underway.

Google signs on to the .NET Foundation

Microsoft is hosting its annual Connect(); developer event in New York today. With .NET being at the core of many of its efforts, including on the open-source side, it’s no surprise that the event also featured a few .NET-centric announcements, as well. For the most part, these center around the .NET Foundation, the open-source organization Microsoft established to guide the future development of the .NET Core project.

As the company announced today, Google is now a member of the .NET Foundation, where it joins the likes of Red Hat, Unity, Samsung JetBrains and (of course) Microsoft in the Technical Steering Group.

In addition, Samsung is bringing .NET to its Tizen platform, which it claims is installed on 50 million devices. Tizen is uses in Samsung smartwatches and TVs, among other things.

Announcing .NET Core 1.0

We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and Entity Framework 1.0, available on Windows, OS X and Linux! .NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications.

This release includes the .NET Core runtime, libraries and tools and the ASP.NET Core libraries. We are also releasing Visual Studio and Visual Studio Code extensions that enable you to create .NET Core projects. You can get started at https://dot.net/core. Read the release notes for detailed release information.

WCF is now open source

WCF targets the .NET Core framework which is designed to support multiple computer architectures and to run cross-platform. Right now the WCF project builds on Windows, but .NET Core offers the potential for it to run on OS X and Linux. The WCF team are working hard to make this a reality and to keep up to date as platform support for .NET Core grows, but if you want to help I know they would love contributions especially around improving and testing the platform support.

Microsoft is open sourcing .NET framework

Microsoft has just announced they open sourced .NET," including ASP.NET, the .NET compiler, the .NET Core Runtime, Framework and Libraries, enabling developers to build with .NET across Windows, Mac or Linux." They're including a patent promise. Miguel de Icaza reports that the Mono project will be "replacing chunks of Mono code that was either incomplete, buggy, or not as fully featured as it should be with Microsoft's code," and he also notes that "Microsoft has stated that they do not currently plan on taking patches back or engaging into a full open source community style development of this code base, as the requirements for backwards compatibility on Windows are very high." Nevertheless, this is a very interesting development that demonstrates that Microsoft is serious about remaining relevant.

Visual Studio goes cross platform with Cordova integration

At its TechEd conference today, Microsoft announced the next step in its "mobile first, cloud first" strategy with a preview of Apache Cordova support in Visual Studio. Cordova is a toolkit for building apps for iOS, Android, and Windows using HTML, CSS, and JavaScript. With the Cordova integration, Visual Studio will directly support building apps for all of these platforms.

This new thing Microsoft's got going on takes a bit of getting used to. I hope it sticks for once, because this company has changed direction more often than a politician in need of campaign funding.

Microsoft open sources big chunk of .NET

At its Build developer conference today, Microsoft announced that it was open sourcing a wide array of its .NET libraries and related technologies and creating a group, the .NET Foundation, to oversee the development and stewardship of the open source components.

Perhaps the highlight of the announcement today was that the company will be releasing its Roslyn compiler stack as open source under the Apache 2.0 license. Roslyn includes a C# and Visual Basic.NET compiler, offering what Microsoft calls a "compiler as a service".

This is more than just a code dump - Microsoft is launching the .NET Foundation, with representatives from Microsoft, GitHub, and Xamarin, among others, to act as stewards for the various related open source projects.

MonoMac 1.0 Released

From the release announcement: "Almost a year ago we started building a set of Mono bindings for building native MacOS X applications. Our original goals were modest: bind enough of AppKit that you could build native desktop applications for OSX using C# or your favorite .NET language. We leveraged a lot of the code that we built for MonoTouch our binding to the CocoaTouch APIs."

Microsoft Announces Silverlight 5 Beta for First Half 2011

"In a keynote presentation at the Silverlight Firestarter event this morning, Corporate Vice President in Microsoft's developer division, Scott Guthrie officially announced Silverlight 5, and outlined its new features and 1H 2011 beta availability. Silverlight 5 adds more than 40 new features to the Web application framework that focus on improving its streaming media functionality for users and on improving application development for engineers. Some of the new streaming additions include: GPU-accelerated video decoding, variable speed playback which allows for user-defined, pitch-corrected slow motion, improved power saver awareness to prevent screensavers from turning on during playback, and native remote control support."