The world’s most popular IDE just got an upgrade.
.NET Blog
Free. Cross-platform. Open source. A developer platform for building all your apps.
Featured posts

Announcing .NET 10
Announcing the release of .NET 10, the most productive, modern, secure, intelligent, and performant release of .NET yet. With updates across ASP.NET Core, C# 14...
Latest posts
Announcing the Release of ASP.NET MVC 5.2, Web API 2.2 and Web Pages 3.2
The NuGet packages for ASP.NET MVC 5.2, ASP.NET Web API 2.2 and ASP.NET Web Pages 3.2 are now live on the NuGet gallery!Download this releaseYou can install or update the NuGet packages for ASP.NET MVC 5.2, ASP.NET Web API 2.2 and ASP.NET Web Pages 3.2 using the NuGet Package Manager Console, with the following commands: Prerequisites for this release What’s in this release?This release primarily includes great new features for Web API OData v4 as summarized below but has bug fixes and minor features that bring in a lot more goodness to MVC, Web API, and Web Pages:ASP.NET MVC 5.2 ASP.NET Web API 2.2...
Monitoring nuget.org
We've recently found ourselves answering the same question repeatedly: How do you monitor nuget.org? If you too are interested, here are the details. Monitoring Approaches We have two approaches for monitoring the gallery: External Monitoring For our external monitoring, we use Pingdom. You can see our public Pingdom status page at http://status.nuget.org. If you ever experience trouble connecting to nuget.org and you're wondering, "Is NuGet down or is it just me?" you can visit http://status.nuget.org to find out. If you see all green, then it might just be you. Public Status Page Here are the checks ...
dotnetConf is on! Free virtual conference.
The free, virtual and community-driven dotnetConf is on. Point your web-browser to dotnetConf. No registration, manager approval or anything required! The virtual conference is two days long. Check out the schedule to find talks that interest you. Join the community, online and in the dotnetConf JabbR room.
Would you like a MultiDictionary?
We’ve recently shipped new collection types on NuGet with our Immutable Collections package. NuGet allows us to ship prerelease and experimental versions of libraries to gather feedback from the community. In this post, our software developer intern Ian Hays will talk about his intern project: an experimental NuGet package containing advanced collection types. -- Immo Dictionary provides a mapping between a key and a single value, and is one of the most used collection types in the .NET Framework. Programs often need a mapping between one key and multiple values. While the functionality can be composed usin...
ASP.NET vNext Routing Overview
Introduction The ASP.NET Routing system is primarily responsible for two operations: A typical route definition is a string that contains a URL template to match, such as: "blog/{year}-{month}-{day}/{slug}" With the URL template, the route definition can also contain default values and constraints for parts of the URL. This helps define exactly which URLs the route can match, for example: The first argument "Product", is the name of the route. The second argument "Product/{productId}", is the URL template for this route. The URL must be of the form “Products/n”, w...
Dependency Injection in ASP.NET vNext
Dependency Injection (DI) is a software design pattern, a particular case of the Inversion of Control pattern, in which one or more dependencies are injected into dependent objects. The pattern is used to create program designs that are loosely coupled and testable. This article assumes that you are already familiar with DI. If not, you can read this article for a brief introduction. DI in ASP.NET vNext In ASP.NET vNext, dependency injection is a first class citizen. While in the previous versions of the framework, DI was partially supported, in ASP.NET vNext it is available throughout the entire stack. A...
.NET Native Deep Dive: Debugging into Interop Code
This post was authored by Yi Zhang, a Senior Software Development Engineer on the .NET Native team. .NET Native and MCG At this point, you’ve probably seen the .NET Native announcement and some of our other .NET Native blog posts. We’ve talked about how .NET Native brings you the productivity of C#, but also with the performance of C++. However, the innovation of .NET Native didn't stop there - we also see this as a great opportunity to reimagine our existing technologies and think about how to make them more accessible and transparent to .NET developers. In the past, when .NET does interop calls, ...
Updating the MVC Facebook API
Over the past several months Facebook made changes to their application development APIs that were incompatible with the MVC Facebook support. We have been working on updates while the Facebook API kept evolving, and on 4/30/2014 Facebook announced a two-year stability guarantee. This was a fantastic announcement because this ensured a similar stability for ASP.NET MVC developers developing Facebook applications. We've fixed the Facebook package and renamed it to Microsoft.AspNet.Facebook. This package is now available on NuGet. Hereare the issues that we’ve fixed. If you’re new to the world of Fac...
QueueBackgroundWorkItem to reliably schedule and run background processes in ASP.NET
Stack Overflow is loaded with questions on how to reliably run a resource-intensive process on a background thread. See so0, so1, so2, so3, so4, so5, so6, so7, so8, so9, so10 . Examples of long-running tasks include sending email, image processing, and generating a PDF file. When Phil Haack was a program manager on the ASP.NET MVC team, he wrote the definitive blog on the inherent unreliability of running background tasks on ASP.NET. While Phil’s blog is a good read, there are now three supported approaches to launching long-running process on ASP.NET: In addition to the three supported appro...