Выпущены Visual Studio 2015 Preview и ASP.NET 5

Три дня назад состоялся официальный анонс новых версий Visual Studio и ASP.NET, которые получили официальные названия Visual Studio 2015 и ASP.NET 5 соответственно. Прошёл примерно месяц после выпуска последней альфа версии продуктов. Рассмотрим коротко список изменений. Напомню, что при обновлении с alpha3 на alpha4 было значительно модифицирована структура веб-проекта. В новом обновлении такого не наблюдается, за исключением новых возможностей, которые будут описаны ниже.



Значительно был модифицирован файл Startup.
public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        // Setup configuration sources.
        Configuration = new Configuration()
            .AddJsonFile("config.json")
            .AddEnvironmentVariables();
    }
 
    public IConfiguration Configuration { get; set; }
 
    // This method gets called by the runtime.
    public void ConfigureServices(IServiceCollection services)
    {
        // Add EF services to the services container.
        services.AddEntityFramework(Configuration)
            .AddSqlServer()
            .AddDbContext<ApplicationDbContext>();
 
        // Add Identity services to the services container.
        services.AddDefaultIdentity<ApplicationDbContext, ApplicationUser,
            IdentityRole>(Configuration);
 
        // Add MVC services to the services container.
        services.AddMvc();
 
        // Uncomment the following line to add Web API servcies which makes //
        // it easier to port Web API 2 controllers.
        // You need to add Microsoft.AspNet.Mvc.WebApiCompatShim package to project.json
        // services.AddWebApiConventions();
 
    }
 
    // Configure is called after ConfigureServices is called.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env,
        ILoggerFactory loggerfactory)
    {
        // Configure the HTTP request pipeline.
        // Add the console logger.
        loggerfactory.AddConsole();
 
        // Add the following to the request pipeline only in development environment.
        if (string.Equals(env.EnvironmentName, "Development", StringComparison.OrdinalIgnoreCase))
        {
            app.UseBrowserLink();
            app.UseErrorPage(ErrorPageOptions.ShowAll);
            app.UseDatabaseErrorPage(DatabaseErrorPageOptions.ShowAll);
        }
        else
        {
            // Add Error handling middleware which catches all application specific errors and
            // send the request to the following path or controller action.
            app.UseErrorHandler("/Home/Error");
        }
 
        // Add static files to the request pipeline.
        app.UseStaticFiles();
 
        // Add cookie-based authentication to the request pipeline.
        app.UseIdentity();
 
        // Add MVC to the request pipeline.
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller}/{action}/{id?}",
                defaults: new { controller = "Home", action = "Index" });
 
                // Uncomment the following line to add a route for porting Web API 2 controllers.
                // routes.MapWebApiRoute("DefaultApi", "api/{controller}/{id?}");
            });
    }
}
Помимо конфигурации конвейера OWIN сюда добавлен и код конфигурации среды выполнения. Пожалуй самым значительным изменением стало добавление возможности болле лучшего управления разработкой на стороне клиента. Более подробно об этом можно почитать на официальном сайте. Также добавлю, что был обновлён пример приложения ASP.NET vNext Real Time Data Editor в галерее MSDN. Версию на русском можно скачать тут.