[译文] ASP.NET Core RC2 发布

1729 查看

原文: https://blogs.msdn.microsoft.com/webdev/2016/05/16/announcing-asp-net-core-rc2/

我们很高兴地宣布ASP.NET Core 的RC2版(Release Candidate 2) 正式发布。此版本的继承自ASP.NET 5 RC1,在增强与其他.NET框架 以及 改进后的运行时的兼容性方面有多项更新。
现在,您可以从http://dot.net上下载安装 ASP.NET Core RC2。

ASP.NET 5 发生了什么?

本次发布的最大特点就是由ASP.NET 5到ASP.NET Core品牌重塑(嗯,也叫改名。我大微软的改名部不是浪得虚名的)。显然这次改名的目的在于强调,这个新的框架是彻底重构后的,而不是在现有的ASP.NET框架上的修订。更多细节,可以参考在这个博客


asp.net core layers


本次发布的版本包含了RC2版的.NET Core 运行时和库。当部署项目时,这些库将全部包含在你编译后项目的bin文件夹中。而一同发布的相关工具链(命令行工具,项目工具和Visual Studio工具)则尚处在Preview 1阶段。这么做的原因是,在我们最终完成整个工具链之前,那些乐意使用运行时的开发人员可以正常地推进他们项目(比如,进行RC1到RC2的迁移)。

关于.NET CLI

从RC1和RC2之间发生的一个最重要变化是引入了.NET Cli (.Net 命令行工具)。此工具取代了之前的dnvm,DNX和DNU,将全部的功能合并到了一个单一的工具中。通过执行"dotnet"即可获得命令提示:


dotent cli

您可以从.NET团队博客中以及他们关于本次更新的文章中了解更多关于.NET CLI的信息。
ASP.NET Core 是一个控制台应用程序
在ASP.NET RC1中你所开发的应用程序是一个包含Startup.cs类的类库。当使用DNX运行ASP.NET hosting 库时会发现并执行Startup.cs,从而启动Web应用程序。虽然在ASP.NET Core RC2中仍然采用相同的运行机制,但还是有些不同。
自RC2开始,ASP.NET Core的应用将是一个调用ASP.NET库的.NET Core控制台应用程序。这意味着,原来存在于ASP.NET hosting中并自动运行startup.cs代码现在存在于Program.cs文件中。这样的调整意味着,单一的工具链既可以用于.net core控制台程序也可以用于ASP.NET Core应用程序。同样也意味着,可以对ASP.NET Core应用程序的宿主(hosts)和运行(runs)有更直观地控制:


startup.png


在此代码片段中,从ASP.NET Core RC2应用程序的Main方法,是负责配置和运行应用程序。如果,例如,你希望你的应用程序监听特定的端口或IP地址,那么你可以通过WebHostBuilder做到这一点。
从一个在DNX上运行的类库 变更为一个可以由.NET工具链运行的控制台程序,是RC2为ASP.NET Core带来了最显著改变之一。

IIS支持

IIS是一个广泛使用的网络服务器,我们将继续为它提供一流的支持。在web.config 使用新的ASP.NET Core 模块(它是在新的项目模板添加)进行配置IIS启动和托管应用程序。

<configuration>
<system.webServer>
  <handlers>
    <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
  </handlers>
  <aspNetCore processPath="%LAUNCHER_PATH%"
              arguments="%LAUNCHER_ARGS%"
              stdoutLogEnabled="false"
              stdoutLogFile=".\logs\stdout"
              forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>

如何从迁移到RC1 RC2?

尽管主要是的变化的都是对Net框架底层和品牌上的变化,但你同样也需要对程序进行一些调整,才可以使用RC2。我们写了下面的指南,以帮助您更新:
从DNX迁移到.NET的核心
从ASP.NET 5 RC1迁移到ASP.NET 1.0的核心RC2
迁移实体框架的代码从RC1到RC2

可以在Azure Web中部署ASP.NET Core RC2的应用程序吗?

我们正在迭代RC2到Azure的应用服务,预计在本周晚些时候变得可用。请关注Azure的博客的公告。

概要

在RC2中,还有很多因为清理、修复、或简化的API方面的变化。同样还有在性能方面的加强,最引人关注的包括Kerstrel的Web服务器吞吐量。
与往常一样,在GitHub的公告库中,你可以找到所有ASP.NET Core RC2变更的文档。
现在下载ASP.NET Core RC2,现在就开始体验吧。
本文由MienDo进行翻译整理