No trial. No credit card required. Just your GitHub account.
.NET Blog
Free. Cross-platform. Open source. A developer platform for building all your apps.
Latest posts

NuGet 2.5 Release Candidate
Updated: The NuGet 2.5 Release Candidate was available from April 15 to April 25, 2013. For the several hundred of you that downloaded the release candidate, we truly appreciate your verification of the RC build that became the final release. What's Included in NuGet 2.5 This release was so big, we felt compelled to skip versions 2.3 and 2.4! To date, this is the largest release we've had for NuGet, with over 160 work items in the release. For details about what's in the release, the tentative release notes have been published to docs.nuget.org. Here are the most notable features: NuGet's descr...

Recent NuGet Gallery Updates
The NuGet Gallery crew has gotten into a rhythm of publishing updates every 2 weeks. With the increased update frequency, we found that we needed to create a changelog to highlight new features. That changelog is now available directly from within our source repository on GitHub. You can access the changelog directly here: https://github.com/NuGet/NuGetGallery/blob/master/Changelog.md Here is the current log, showing the changes that have been made over the last 2 deployments. April 4, 2013 Top 500 packages exposed in the feed The nuget.org API (V2) feed now exposes the top downloaded packages (over the last...

The Defrag Tools Channel9 series on managed memory diagnostics

Recently I did a few videos for the popular "Defrag Tools" series on Channel9. They are just talking about pretty basic things about doing managed memory investigations so I'd imagine for most of you it's something you already know. However, you can feel free to suggest things you'd like to see in the comments of these videos (or on this blog for that matter :-)). 2 have aired: https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-33-CLR-GC-Part-1 https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-34-CLR-GC-Part-2

Debugging ASP.NET Web API with Route Debugger
Tutorial and Tool written by Troy Dai (Twitter @troy_dai) with assistance from Rick Anderson (Twitter @RickAndMSFT) Search for “asp.net web api routing” on stackoverflow, you’ll find many questions. How exactly does Web API routing work? Why doesn’t my route work? Why is this action not invoked? Often time it is difficult to debug route. To address this issue I wrote this tool named “ASP.NET Web API Route Debugger” trying to make Web API developers’ lives a bit easier. In this article I’ll first introduce stdebugger. Then I’ll introduce how routing works in Web Api. It is followed by three examples of how to...

.NET memory allocation profiling and Tasks

The .NET Framework blog published this morning a guest post from yours truly on .NET Memory Allocation Profiling with Visual Studio 2012. As you're trying to improve the performance, throughput, and memory usage of code that uses Tasks, the described profiler in Visual Studio can be a valuable tool in your tool belt (of course, the example I use in that post to highlight the profiler's capabilities is one that uses Task and async/await). I hope you find the post helpful.

.NET Memory Allocation Profiling with Visual Studio 2012

This post was written by Stephen Toub, a frequent contributor to the Parallel Programming in .NET blog. He shows us how Visual Studio 2012 and an attention to detail can help you discover unnecessary allocations in your app that can prevent it from achieving higher performance. Visual Studio 2012 has a wealth of valuable functionality, so much so that I periodically hear developers that already use Visual Studio asking for a feature the IDE already has and that they’ve just never discovered. Other times, I hear developers asking about a specific feature, thinking it’s meant for one purpose, not realizing it...

The March 6th NuGet Gallery Outage
On March 6th 2013, nuget.org's package download was broken for one and a half hours. Some outages involve factors beyond our control; this time it was very much our own fault and we would like to apologize. We also want to openly discuss the outage and reassure you that we are working on preventing reoccurences. Timeline of events The outage was triggered by the NuGet Gallery crew performing a regular planned upgrade to nuget.org. We had successfully completed the previous production upgrade as recently as 2 weeks prior (in fact we are now shipping code to nuget.org on regular 2-3 weeks intervals). The timeline...

Tasks, Monads, and LINQ

A few years back, Wes Dyer wrote a great post on monads, and more recently, Eric Lippert wrote a terrific blog series exploring monads and C#. In that series, Eric alluded to Task<TResult> several times, so I thought I’d share a few related thoughts on Task<TResult> and the async/await keywords.As both Wes and Eric highlight, a monad is a triple consisting of a type, a Unit function (often called Return), and a Bind function. If the type in question is Task<T>, what are its Unit and Bind functions? The Unit operator takes a T and “amplifies” it into an instance of the type: p...

Tutorial Series on Model Binding with ASP.NET Web Forms
I have written a tutorial series that shows how to use model binding with ASP.NET Web Forms. You might be familiar with the model binding concept from ASP.NET MVC, but with ASP.NET 4.5, model binding is now available in Web Forms applications. Model binding makes it very easy to create and maintain data-rich web pages. A lot of the manual steps of correlating elements with data properties are performed automatically. When you use model binding with dynamic data templates, you can quickly add or revise properties in your data model and those properties are correctly ren...