diff --git a/GetRuntime.cmd b/GetRuntime.cmd
new file mode 100644
index 000000000000..5ee0efaea3af
--- /dev/null
+++ b/GetRuntime.cmd
@@ -0,0 +1,19 @@
+@echo off
+cd %~dp0
+
+SETLOCAL
+SET CACHED_NUGET=%LocalAppData%\NuGet\NuGet.exe
+
+IF EXIST %CACHED_NUGET% goto copynuget
+echo Downloading latest version of NuGet.exe...
+IF NOT EXIST %LocalAppData%\NuGet md %LocalAppData%\NuGet
+@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest 'https://www.nuget.org/nuget.exe' -OutFile '%CACHED_NUGET%'"
+
+:copynuget
+IF EXIST .nuget\nuget.exe goto restore
+md .nuget
+copy %CACHED_NUGET% .nuget\nuget.exe > nul
+
+:restore
+IF EXIST packages\KoreBuild goto run
+.nuget\NuGet.exe install ProjectK -o packages -nocache -pre
\ No newline at end of file
diff --git a/K.cmd b/K.cmd
new file mode 100644
index 000000000000..d7c0b95cc5c3
--- /dev/null
+++ b/K.cmd
@@ -0,0 +1,30 @@
+@ECHO OFF
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+
+SET CURRDIR=%CD%
+SET PARENTDIR=!CURRDIR!
+
+:START
+IF EXIST !CURRDIR!\packages\ProjectK* FOR /F %%I IN ('DIR !CURRDIR!\packages\ProjectK* /B /O:-D') DO (SET ProjectKDir=%%I& GOTO :ENDFOR)
+:ENDFOR
+
+SET LocalKCmd=!CURRDIR!\packages\!ProjectKDir!\tools\k.cmd
+
+IF NOT EXIST !LocalKCmd! (
+ CALL :RESOLVE "!CURRDIR!\.." PARENTDIR
+ IF !CURRDIR!==!PARENTDIR! (
+ ECHO Unable to locate the ProjectK runtime
+ ENDLOCAL & EXIT /b 1
+ ) ELSE (
+ SET CURRDIR=!PARENTDIR!
+ GOTO :START
+ )
+)
+
+CALL "!LocalKCmd!" %*
+ENDLOCAL & EXIT /b %ERRORLEVEL%
+
+:RESOLVE
+SET %2=%~f1
+GOTO :EOF
\ No newline at end of file
diff --git a/NuGet.Config b/NuGet.Config
new file mode 100644
index 000000000000..ab583b0ff778
--- /dev/null
+++ b/NuGet.Config
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index e69de29bb2d1..018766bba920 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,61 @@
+#What is this?
+
+The Preview repository is a place for the ASP.NET Insiders to log issues and discuss ASP.NET vNext with the product team.
+
+The samples provided are designed to show some of the features of the new framework as well as setting up a sandbox for you to try out new drops of functionality as they come out. The NuGet.config file in the repo points to a private MyGet feed that has all the packages being developed. The feed is updated every time a full build succeeds.
+
+**The K.cmd file in the root of this repo is designed to be able to be put in your path. It will probe various locations relative to your current directory to find the KRuntime that it should use. All the steps after this will assume you've done this, so that you can just type ```K Run``` from anywhere. If you choose not to then add the appropriate number of folder traversals (..\\) before each K command.**
+
+#Samples
+
+##Sandbox Samples
+
+These samples, in this repo, are just basic starting points for you to experiment with features. Since there is no File->New Project we thought some simple samples to take the place of scaffolding would be convenient.
+
++ HelloConsole. This is just basic console app if you want to use it as a starting point. Use it the same as the console app from our earlier samples
++ HelloWeb. This is a minimal startup class that shows welcome page and static file middleware. This is mostly for you to run through the steps in the readme and make sure you have everything setup and working correctly.
++ HelloWebFx. This sample is a basic MVC app. It is not designed to show all the functionality of the new web stack, but to give you a starting point to play with features.
+
+##Feature Samples
+The Entropy repo contains samples of specific features in isolation. Each directory contains just enough code to show an aspect of a feature.
+
+##Application Samples
+MVC Music Store and BugTracker application are both being ported. Each of these have their own repository that you can look at as they are working.
+
+#Running the samples
+
+##Bootstrapping the runtime
+Before you can use the runtime commands to launch your application, you need to have the runtime commands. To do this there is a GetRuntime.cmd file in the root of the repository.
+
+1. Run ```GetRuntime.cmd```
+2. This should use NuGet.exe to get the runtime from MyGet and put it in a packages folder. One of the things currently containined in the runtime is a modified version of NuGet.exe that you should use for everything other than getting the runtime itself.
+
+##Running HelloWeb
+
+1. Clone the repository
+2. Change directory to Preview\Samples\HelloWeb
+3. Run ```K restore```
+4. You should see a bunch of output as all the dependencies of the app are downloaded from MyGet. The K commands all operate on the app that is in the current directory.
+5. Run ```K web```
+6. You should see build output and a message to show the site is now started
+7. Navigate to "http://localhost:5001"
+8. You should see the welcome page
+9. Navigate to "http://localhost:5001/image.jpg"
+10. You should see an image served with the static file middleware
+
+If you can do all of the above then everything should be working. You can try out the WebFx sample now to see some more of the new stack. You should run ```K restore``` before using any sample for the first time.
+
+#Switching to Core CLR
+
+By default when running the applications you are running against Desktop CLR (4.5), you can change that by setting the TARGET_FRAMEWORK variable:
+
+1. Run ```set TARGET_FRAMEWORK=k10```
+2. Run ```K web```
+3. The first line of your output should say "Loaded Module: klr.core45.dll" instead of "Loaded Module: klr.net45.dll"
+4. The HelloWeb app should work the same as when running on Desktop CLR.
+
+**NOTE: There are going to be parts of the stack that work on Desktop but do not work on Core CLR. This set should get smaller and smaller as time goes on, but it is entirely likely as you use Core CLR you will hit errors that can't be worked around as the Core CLR surface area just does not exist yet. An example of this type of problem is using Entity Framework with a database. There are not currently any real database providers that work on Core CLR, so you will be restricted to in-memory EF on Core CLR.**
+
+#Core CLR Packages
+
+Currently the BCL is split into some fairly fine grained packages, which was one of the goals of this effort. However, the packages that exist today do not necessarily represent the list of packages that we will end up with. We are still experimenting with what makes sense to be a package and what the experience should be.
diff --git a/samples/ConsoleApp/Program.cs b/samples/ConsoleApp/Program.cs
new file mode 100644
index 000000000000..7ee7ee1dc5e9
--- /dev/null
+++ b/samples/ConsoleApp/Program.cs
@@ -0,0 +1,9 @@
+using System;
+
+public class Program
+{
+ public static void Main()
+ {
+ Console.WriteLine("Hello World");
+ }
+}
diff --git a/samples/ConsoleApp/project.json b/samples/ConsoleApp/project.json
new file mode 100644
index 000000000000..488a2654c816
--- /dev/null
+++ b/samples/ConsoleApp/project.json
@@ -0,0 +1,13 @@
+{
+ "dependencies" : {
+ },
+ "configurations": {
+ "net45" : {},
+ "k10": {
+ "dependencies": {
+ "System.Runtime": "4.0.20.0",
+ "System.Console": "4.0.0.0"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/samples/HelloWeb/Startup.cs b/samples/HelloWeb/Startup.cs
new file mode 100644
index 000000000000..5de855d83bb6
--- /dev/null
+++ b/samples/HelloWeb/Startup.cs
@@ -0,0 +1,14 @@
+using Microsoft.AspNet.Abstractions;
+using Microsoft.AspNet;
+
+namespace KWebStartup
+{
+ public class Startup
+ {
+ public void Configuration(IBuilder app)
+ {
+ app.UseStaticFiles();
+ app.UseWelcomePage();
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/HelloWeb/image.jpg b/samples/HelloWeb/image.jpg
new file mode 100644
index 000000000000..899595259f33
Binary files /dev/null and b/samples/HelloWeb/image.jpg differ
diff --git a/samples/HelloWeb/project.json b/samples/HelloWeb/project.json
new file mode 100644
index 000000000000..48648615396a
--- /dev/null
+++ b/samples/HelloWeb/project.json
@@ -0,0 +1,35 @@
+{
+ "version": "0.1-alpha-*",
+ "dependencies": {
+ "Microsoft.AspNet.Abstractions": "0.1-alpha-*",
+ "Microsoft.AspNet.Hosting": "0.1-alpha-*",
+ "Microsoft.AspNet.Server.WebListener": "0.1-alpha-*",
+ "Microsoft.AspNet.Diagnostics":"0.1-alpha-*",
+ "Microsoft.AspNet.StaticFiles":"0.1-alpha-*"
+ },
+ "commands": { "web": "Microsoft.AspNet.Hosting server.name=Microsoft.AspNet.Server.WebListener server.urls=http://localhost:5001" },
+ "configurations": {
+ "net45": {
+ },
+ "k10": {
+ "dependencies": {
+ "System.Console": "4.0.0.0",
+ "System.Collections": "4.0.0.0",
+ "System.Diagnostics.Debug": "4.0.10.0",
+ "System.Diagnostics.Tools": "4.0.0.0",
+ "System.Globalization": "4.0.10.0",
+ "System.IO": "4.0.0.0",
+ "System.IO.FileSystem": "4.0.0.0",
+ "System.IO.FileSystem.Primitives": "4.0.0.0",
+ "System.Linq": "4.0.0.0",
+ "System.Reflection": "4.0.10.0",
+ "System.Resources.ResourceManager": "4.0.0.0",
+ "System.Runtime": "4.0.20.0",
+ "System.Runtime.Extensions": "4.0.10.0",
+ "System.Runtime.InteropServices": "4.0.10.0",
+ "System.Text.Encoding": "4.0.10.0",
+ "System.Threading.Tasks": "4.0.0.0"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/HelloWebFx/Controllers/HomeController.cs b/samples/HelloWebFx/Controllers/HomeController.cs
new file mode 100644
index 000000000000..67b912a02f76
--- /dev/null
+++ b/samples/HelloWebFx/Controllers/HomeController.cs
@@ -0,0 +1,24 @@
+using Microsoft.AspNet.Mvc;
+using MvcSample.Web.Models;
+
+namespace MvcSample.Web
+{
+ public class HomeController : Controller
+ {
+ public IActionResult Index()
+ {
+ return View(User());
+ }
+
+ public User User()
+ {
+ User user = new User()
+ {
+ Name = "My name",
+ Address = "My address"
+ };
+
+ return user;
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/HelloWebFx/Models/User.cs b/samples/HelloWebFx/Models/User.cs
new file mode 100644
index 000000000000..9869e92d13af
--- /dev/null
+++ b/samples/HelloWebFx/Models/User.cs
@@ -0,0 +1,13 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace MvcSample.Web.Models
+{
+ public class User
+ {
+ [Required]
+ [MinLength(4)]
+ public string Name { get; set; }
+ public string Address { get; set; }
+ public int Age { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/samples/HelloWebFx/Startup.cs b/samples/HelloWebFx/Startup.cs
new file mode 100644
index 000000000000..9e8a9bd19c41
--- /dev/null
+++ b/samples/HelloWebFx/Startup.cs
@@ -0,0 +1,33 @@
+using Microsoft.AspNet.Abstractions;
+using Microsoft.AspNet.DependencyInjection;
+using Microsoft.AspNet.DependencyInjection.Fallback;
+using Microsoft.AspNet.Mvc;
+using Microsoft.AspNet.RequestContainer;
+using Microsoft.AspNet.Routing;
+using Microsoft.AspNet.Diagnostics;
+using Microsoft.AspNet;
+
+namespace KWebStartup
+{
+ public class Startup
+ {
+ public void Configuration(IBuilder app)
+ {
+ var services = new ServiceCollection();
+ services.Add(MvcServices.GetDefaultServices());
+ var serviceProvider = services.BuildServiceProvider(app.ServiceProvider);
+
+ var routes = new RouteCollection
+ {
+ DefaultHandler = new MvcApplication(serviceProvider)
+ };
+
+ routes.MapRoute("{controller}/{action}", new { controller = "Home", action = "Index" });
+
+ app.UseErrorPage();
+ app.UseContainer(serviceProvider);
+ app.UseRouter(routes);
+ app.UseWelcomePage();
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/HelloWebFx/Views/Home/Index.cshtml b/samples/HelloWebFx/Views/Home/Index.cshtml
new file mode 100644
index 000000000000..f86b89eb7fce
--- /dev/null
+++ b/samples/HelloWebFx/Views/Home/Index.cshtml
@@ -0,0 +1,16 @@
+@using MvcSample.Web.Models
+@model User
+@{
+ Layout = "/Views/Shared/_Layout.cshtml";
+ ViewBag.Title = "Home Page";
+ string nullValue = null;
+}
+
+
+
ASP.NET
+
ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.