This site is dedicated to working with and contributing to the MVC, Web API and Web Pages with Razor code base. If you want to use the released versions of the products to develop your applications, head to http://www.asp.net where you can find useful documentation, tutorials, samples, and videos.

These products are actively developed by the ASP.NET team assigned to the Microsoft Open Tech Hub and in collaboration with a community of open source developers. Together we are dedicated to creating the best possible platform for web development.

Getting and Building Code

The first order of business is to make sure you can build the code on your machine.

  1. The easiest way to work with our source is to install Visual Studio 2010 (with SP1).
  2. Make sure you have git installed. Alternative git clients
    • TortoiseGit is highly recommended, because it offers graphical log/tree views and diff/merge experience.
    • Posh-Git is highly recommended for PowerShell users.
    • Git Source Control Provider is an optional component which integrates Git into Visual Studio.
  3. Download SkipStrongNames, and unzip it. From an elevated command prompt, run “skipstrongnames -e" to allow you to run unit tests against the delay-signed binaries.
  4. Using your preferred git client clone our git repo located at
    git clone https://git01.codeplex.com/aspnetwebstack.git
  5. If you installed Visual Studio, you can now open the Runtime.sln file in the root of the source code and build using Visual Studio. Alternatively, there is a Build.cmd file in the root directory that will build the code base and run the tests from the command line. Note: Before building you may need to obtain NuGet packages from the OuterCurve Foundation NuGet public feed*.
    build RestorePackages
    build

    A .sln file is also available from the root directory to open the solution in Visual Studio. See the documentation for more information.

To run the unit tests, you must run an elevated command prompt, because some of the tests create and test self-hosted HTTP servers. Alternatively, you can add an URL reservation for http://+:50231/ that our unit tests use if you want to avoid running an elevated command prompt every time you want to run unit tests. You can run the script RegisterHttpNamespaces.bat (can be found in the tools directory) from an elevated command prompt once to do this.  In addition, the build or tests may not run correctly if your machine has .NET 4.5 or MVC 4 installed, since assemblies in the GAC may conflict with the build and unit test process.

*By running build RestorePackages, you will be initiating the download of other software from a NuGet-based feed that is owned by the Outercurve Foundation. You are responsible for locating, reading and complying with the license terms that accompany each such software. Each software that you obtain through this feed is licensed to you by its respective owner. We grant you no rights for third party software from this feed.

Contribute

There are many ways to contribute to the project including contributing code. Find out how you can participate here.

Roadmap

Want to know what the future holds for ASP.NET MVC, Web API and Web Pages? We update our roadmap regularly and we post specific feature specifications publicly for review.

Questions?

Send us your questions through the discussion forums or check the FAQ to see if your question has already been answered.

Last edited Jul 20, 2012 at 12:50 AM by rsatter, version 41

Comments

debramcdaniel Aug 29, 2012 at 10:03 PM 
It effects the system globally.

digitalpacman Aug 15, 2012 at 12:03 AM 
Any tutorials on how to properly sign the compiled DLLs? I am unable to use System.Net.Http.Formatting if I set it to unsigned because System.Net.Http then won't load. The signing doesn't seem to be working with a straight download and build. Says "Strong name signature could not be verified"

aliostad Apr 10, 2012 at 9:23 AM 
When I run "build RestorePackage", I get proxy authentication error since I am behind proxy. Any solution to that please?

rsatter Mar 30, 2012 at 9:51 PM 
Grokys, Terry did you run build RestorePackages. Our build does not automatically install the NuGet packages we do. For more detail look at Getting and Building Code or Contributing link.

Grokys Mar 30, 2012 at 1:14 PM 
Could you add some information on running the tests? I've been trying various combinations of xunit and VS with xunit etc etc but I've still not managed to get a full set of passing tests. Sure I'm missing something simple...

TerryDenham Mar 29, 2012 at 3:33 AM 
I was getting the same errors, ran "skipstrongnames.exe -e", used elevated VS 2010 Command Prompt, ran the "Assembly Binding Log Viewer" and it was showing unable to find xunit.runner.dll. I downloaded and installed xUnit using the xUnit.Installer.exe. I've even added "c:\program files (x86)\xUnit" to my path directory but I'm still getting the same build errors.

rsatter Mar 28, 2012 at 4:43 PM 
jittuu - great idea I have bolded elevated command prompt.

jittuu Mar 28, 2012 at 2:51 PM 
will it be better if the following words are bold to save a few minutes for who cannot build with un-elevated command prompt (like me)? :)

"you must run an elevated command prompt"

BradWilson Mar 28, 2012 at 2:03 PM 
It affects the system globally (it writes registry entries to HKEY_LOCAL_MACHINE).

skoon Mar 28, 2012 at 6:20 AM 
"From an elevated command prompt, run “skipstrongnames -e""

Should this be run in the directory where we cloned the aspnetwebstack repo to? Or does it affect the system globally?