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

Immutable collections ready for prime time

Today I’m very happy to announce that we released the stable version of the Microsoft.Bcl.Immutable NuGet package. We also published the MSDN documentation on immutable collections. Thank you! Nine months ago, we shipped the first preview of immutable collections. This was one of the first BCL features that we decided to ship early and often by releasing out of band (that is, outside the core .NET Framework releases). This allowed us to have a public design discussion, which, in turn, gave us the ability to address your feedback in a faster and more direct way than ever before. Many of you participated and c...

Attribute Routing changes for ASP.NET Web Stack shipped in VS2013 RC
For the VS2013 Preview release, we published two articles about Attribute Routing for Web API 2: · http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 · http://www.asp.net/web-api/overview/web-api-routing-and-actions/create-a-rest-api-with-attribute-routing The VS2013 RC release includes more changes and features for attribute routing: 1. Explicitly declare a route template on an action In RC, if attribute routing is enabled, you must explicitly declare the attribute for the desired actions. In Preview, you don’t have to. 2. Added support for overriding Ro...

Web Publish how to automate multi-project publish with file system

The other day I received an email from a customer with a question which I’ve summarized as below. I have a solution containing multiple web projects. One of the projects, _RootSite, is the top level website which I want to publish. It’s an MVC project. I also have other web projects in the same solution. These other projects are apps themselves but being published under _RootSite as an area. In some cases I’d like to publish my entire site, in other cases just the areas. Sometimes when I publish an area I need to refresh the assembly for _RootSite. How can I automate this with the most flexibility? I am pu...

Organizational Accounts in Visual Studio 2013 RC
Visual Studio 2013 Preview shipped with support to create new ASP.NET projects that can be easily configured with organizational accounts. This support has been simplified and enhanced in this RC version. You can find a detailed step-by-step tutorial on creating an ASP.NET MVC project with single organizational identity at Developing ASP.NET Apps with Windows Azure Active Directory.The biggest change in this release is the addition of support for configuring ASP.NET WebAPI project with Windows Azure Active Directory identity. For more information on changes done in RC release, you can look at What’s New for...

Understanding Security Features in the SPA Template for VS2013 RC
The blog is based on Visual Studio 2013 RC release. We have completely rewritten the SPA template from the previous version( MVC 4). Here are some of the changes we made: Note that SPA VB template is still not available in this RC release. We will ship it with RTM release. In this blog, I will focus on the security features in SPA template. Bearer Token Authentication with Web API This is one of the most asked for features in Web API. In the SPA template, we implemented this feature with OWIN security middleware. In order to use OWIN bearer token middle...

How to use XDT in NuGet – Examples and Facts
Starting with NuGet 2.6, XML-Document-Transform (XDT) is supported to transform XML files inside a project. The XDT syntax can be utilized in the .install.xdt and .uninstall.xdt file(s) under the package's Content folder, which will be applied during package installation and uninstallation time, respectively. One of XDT’s greatest strengths is its simple but powerful syntax for manipulating the structure of an XML DOM. Rather than simply overlaying one fixed document structure onto another structure, XDT provides controls for matching elements in a variety of ways, from simple attribute name matching to full XPa...

Scaffolding asynchronous MVC and Web API controllers for Entity Framework 6
Brief Entity Framework 6 introduces support for the .NET 4.5 asynchronous programming pattern using the async and await keywords. And in Visual Studio 2013 RC we’re making it easier for you to take advantage of this new capability by optionally generating asynchronous code when you scaffold MVC and Web API controllers. Why First thing first. Why would you build an asynchronous controller? Well, asynchronous programming is an important part of building scalable, robust, and responsive web applications. A web server has a limited number of threads available, and in high load situation all of the avai...

Immutable collections are now RC

Over the past several months, we’ve been working on a new set of collection types that offer an immutable design. Today we are happy to announce that we are one step closer to a stable version of this work: we’ve just shipped the release candidate (1.0.23 RC) of the Microsoft.Bcl.Immutable NuGet package. Because we could: an immutable representation of our release timeline What has changed in RC? The changes in this update can be summarized into the following areas: I’ll discuss these areas in more detail. removed for now After careful consideration we decided to remove f...

Visual Studio 2013 Custom Web Servers and OwinHost.exe
When running Web applications from within Visual Studio, there have generally been two primary hosts available while developing: a local “development” Web server, or a full version of Internet Information Services (IIS). There has also been a “custom server” option, where a path to a server executable could be entered; however, this was not a widely used option given that most Web applications were built for the ASP.NET pipeline running in some flavor of IIS anyway. With Visual Studio 2013, ASP.NET will include a new way to compose and host Web applications. In this new model, ASP.NET will shift from a monolithi...