.NET Core 3.0 RC1 已经发布,最终版本将于下周 9 月 23 日发布。此版本包括
.NET Core 3.0.0 RC1 和 .NET Core SDK 3.0.100 RC1。

  .NET Core RC2 和 ASP.NET Core RC2 已在几周之前发布,它包含了.NET
CLI的介绍,对.NET Core SDK(以前叫 DNX)的改动,ASP.NET 5到ASP.NET
Core的进化等,更多特性可以参考.NET
团队博客和.NET
WEB开发团队博客。

澳门新葡萄京官网首页 1

Visual Studio 兼容性:.NET Core 3.0 RC1 在早期版本的 Visual Studio
中无法正常工作。现在,Visual Studio 2019 16.3 preview 4 和 Visual Studio
for Mac 8.3 版本支持 .NET Core 3.0。另外,Visual Studio Code 的 C#
扩展更新以支持新的 .NET Core 版本。

  而现在,我们很兴奋的宣布,MSTest类库也支持这个发布版本啦!相关类库和依赖包都可以在NuGet上获取。这次是预发布版本,我们期望收到你的反馈以便带来更完善的正式版本。

先看一下 .NET Core(包含 ASP.NET Core)的路线图:

.NET Core SDK 3.0.100 RC1 包含 .NET Core3.0 运行时,因此在安装 SDK
时不需要单独下载运行时包。

  在这篇文章中,我会向你展示在这个发布版本下如何完成你的测试用例。步骤如下:

  • Beta6: 2015年7月27日
  • Beta7: 2015年9月2日
  • Beta8: 2015年10月15日
  • RC1: 2015年11月
  • RC2 (Tools Preview 1): 2016年5月17日
  • 1.0.0 (Tools Preview 2): 最迟2016年6月份

还有,已经为此版本更新了 .NET Core Docker 映像。其他更改内容如下:

  1. 安装SDK
  2. 创建类库项目
  3. 添加MSTest的引用
  4. 写测试用例
  5. 从Visual Studio中运行测试
  6. 从命令行窗口运行测试
  7. 以桌面.NET 为目标

.NET Core RC2 版本今天已经发布,但从 RC1 到 RC2
发布间隔了大概半年的时间,这在微软的发布中还是很少见的,2016年2月份,微软宣布了
.NET Core RC2 的延迟发布,虽然延迟发布,但之后 .NET
社区中都是一致的声音:希望微软精耕细作,把 .NET Core
专心做好,而不是急着发布出来,所以到现在是四个月的时间,微软确实在真正耗费精力的把
RC2 版本做好,手动点个👍!

  • CoreCLR: bugs | features
  • CoreFX: bugs | features
  • ASP.NET
    Core: bugs | features
  • API Changes in
    RC1

安装SDK

  从Visual Studio
官方下载安装包

为什么 .NET Core RC1 到 RC2
发布耗时这么长时间?之前的新闻和文章已经介绍很多了,就不多说了,改变实在是大,其实你也可以从某种意义上看作是一个全新实现。

发布说明 

创建类库项目

  创建一个.NET Core 类库项目

言归正传,在昨天凌晨的时候,微软官方博客发布了几篇文章,我觉得除了包含
.NET Core RC2
的发布消息以外,文章内容还是非常有价值的,从某些文字和某段话中,我们可以得到一些容易被忽略的东西,所以,这几篇博文我又重新认真读了下,希望把有些有价值的地方,分享给大家。

(文/开源中国)    

添加MSTest的引用

  • 在nuget.org中找到MSTest.TestFramework并安装

  • 在nuget.org中找到dotnet-test-mstest并安装

    打开project.json文件,你可以看到已经安装在依赖项中的包,我们需要添加“testRunner”属性并设置为“mstest”。为了简单,可以直接替换下面的内容到project.json文件中:

    {
        "version": "1.0.0-*",
    
        "testRunner": "mstest",
    
        "dependencies": {
            "dotnet-test-mstest": "1.0.1-preview",
            "MSTest.TestFramework": "1.0.0-preview"
        },
    
        "frameworks": {
            "netcoreapp1.0": {
            "imports": [
                "dnxcore50",
                "portable-net45+win8"
            ],
    
            "dependencies": {
                "Microsoft.NETCore.App": {
                "version": "1.0.0-rc2-3002702",
                "type": "platform"
                }
            }
            }
        }
    }
    

    可以注意到,我们创建的项目被标记为一个应用程序(netcoreapp1.0)。那是因为在测试时使用.NET
    CLI,单元测试工程就是一个应用程序,而不是一个类库。这个程序的入口Main方法将由“testRunner”提供。

相关博文:

动手写用例

  Visual
Studio已自动创建一个叫Class1.cs的文件,打开它,替换里面的内容如下:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace SampleNetCoreUnitTests
{
  [TestClass]
  public class TestClass
  {
    [TestMethod]
    public void TestMethodPassing()
    {
      Assert.IsTrue(true);
    }

    [TestMethod]
    public void TestMethodFailing()
    {
      Assert.IsTrue(false);
    }
  }
}
  • .NET Core RC2 – Improvements, Schedule, and Roadmap(2016年5月6日)
  • Announcing ASP.NET Core RC2(2016年5月17日)
  • Announcing Updated Web Development Tools for ASP.NET Core
    RC2(2016年5月17日)
  • Announcing .NET Core RC2 and .NET Core SDK Preview
    1(2016年5月17日)
  • Announcing Entity Framework Core RC2(2016年5月17日)

从Visual Studio 运行测试

  打开测试浏览窗口(测试|窗口|测试浏览窗口),重新生成解决方案,你将在测试浏览窗口中看到如下内容:

澳门新葡萄京官网首页 2

image.png

点击“全部运行”:

澳门新葡萄京官网首页 3

image.png

1. We will continue to make changes and stabilize the tooling until it RTMs with VS “15”.

  • .NET Core and ASP.NET Core 1.0 RC2, Tooling Preview 1
  • .NET Core and ASP.NET Core 1.0 RTM, Tooling Preview 2

Tooling 是什么?这个后面说,当 ASP.NET Core 1.0
正式版发布的时候,Tooling 的版本大概是 Preview 2,标题中的说明是在
ASP.NET Core 1.0 正式版发布之后,Tooling 还会有一些改变,直到 Visual
Studio “15” 的 RTM 版本发布,现在 Visual Studio “15” 的版本是
Preview,相关介绍:Visual Studio “15” Preview Now Available,对于 Visual
Studio “15”,你可以把它当作 ASP.NET Core 1.0 是 ASP.NET
的全新实现一样,与 Visual Studio “15” 并行的版本是 Visual Studio 2015
Update 2,这两个 Visual Studio
完全不一样,从你电脑上可以同时安装这两个版本就可以看出,所以,Visual
Studio “15” 是 Tooling 的重点,也是微软下一步的重点。

另外,需要注意发布时间,.NET Core 和 ASP.NET Core 1.0
正式版最迟发布时间为2016年6月份(应该会在微软的 dotnetConf
会议上发布),但并不包含 Tooling 的正式版发布,当 .NET Core 和 ASP.NET
Core 1.0 正式稳定之后,下一步就是 Visual Studio “15”,包括 Tooling
中的其它工具。

从Console窗口运行测试

  打开命令行窗口并定位到解决方案文件夹。输入dotnet test 运行.NET
CLI测试运行器:

D:SamplesdotNetCoreTestssrcdotNetCoreTests>dotnet test
Project dotNetCoreTests (.NETFramework,Version=v4.5.1) was previously compiled. Skipping compilation.
Discovering Tests ...
Executing Tests ...
Passed   TestMethodPassing
Failed   TestMethodFailing
Error Message:
   Assert.IsTrue failed.
Stack Trace:
   at SampleNetCoreUnitTests.TestClass.TestMethodFailing() in D:SamplesdotNetCoreTestssrcdotNetCoreTestsClass1.cs:line 17
============ Test Run Summary ============
Total tests: 2. Passed: 1. Failed: 1. Skipped: 0
Test Run Failed.
SUMMARY: Total: 1 targets, Passed: 1, Failed: 0.

测试按照预期执行了。

2. How We Got Here

  • The ASP.NET team started two and a half years ago, building a new
    version of ASP.NET that was modular, cross platform, and
    high-performance. This new version of ASP.NET was built on a new
    .NET Execution Environment that was optimized for modern
    cloud-focused workloads (websites, microservices, etc.). We shipped
    an RC1 of those bits in November.
  • After shipping ASP.NET Core 1.0 RC1, it was very important to
    broaden .NET Core to also support building native console
    applications. So we started the process of reworking the tool chain
    so it could be used to build .NET console, class libraries and
    server applications. This process has proved to be harder than we
    anticipated and led to us removing dates for RC2/RTM from our
    schedule in February.

上面是两段话,我都贴出来了,我个人觉得很有价值,你可以从中揣摩微软的心思和了解
ASP.NET 跨平台的历史。

首先,第一段话的意思:ASP.NET 团队在两年半之前就开始开发 ASP.NET
的跨平台实现了,那时候被叫做 ASP.NET vNext,然后对应一个专门的运行时
XRE,然后被改名为 KRE,后来在 ASP.NET 5 RC1 的时候,又被改名为
DNX,需要注意的时候,DNX 运行时只适用于当时的 ASP.NET 5
RC1,并不适用于其它的微软产品,所以,我们在当时的 Visual Studio 2015
中,看到创建 ASP.NET 5 的模版是独立出来的,叫 ASP.NET 5 Web Application
和 ASP.NET 5 Class Library,ASP.NET 5 RC1 的发布时间时2015年11月份。

上面都是前提介绍,重点在于第二段话,在 ASP.NET 5 RC1
发布之后,微软意识到 .NET Core 支持构建 Native Console Application
是非常重要(注意是 .NET Core,并不是 DNX),那时候的 .NET Core 是独立于
ASP.NET 5 RC1 的,也就是 ASP.NET 5 RC1 的运行时并不是使用的 .NET
Core,后来微软开始重写工具链,以支持构建 .NET console、Class Libraries
和 Server Applications,也就是把 .NET Core 和 DNX
统一起来,准确来说,就是把 DNX 归到 .NET Core
中,并且对应的相应工具也要进行调整,比如那时候 ASP.NET 5 RC1
对应的工具是 dnvm 和 dnpm,现在来看,都归到统一的 CLI 中了,并且 ASP.NET
5 的名称也不太准确,会让人误以为是 ASP.NET 4.6 的进阶版,但其实是
ASP.NET 的全新实现,所以,这个名称需要改,最后确定改为 ASP.NET Core。

原本 ASP.NET Core RC2/RTM
的发布是在2016年的2月份,但微软在开发上面任务的时候,发现工作难度和工作量实在太大,所以就推迟了
ASP.NET Core RC2/RTM
的发布,每件东西的改变,都有着背后的历史,事出总有因,了解完这些背后的东西,我们就会更加体谅微软了,并且,改变是进步的体现,需要点个赞👍!

另外,RC1 升级到 RC2 相关文章:

  • Migrating from DNX to .NET Core
  • Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2
  • Migrating your Entity Framework Code from RC1 to RC2

以桌面.NET 为目标

  
除了.NET Core,.NET
CLI运行器也支持桌面.NET程序(v4.5.1及以上),需要在project.json中更新类库部分:

"frameworks": {
  "net451": { }
}

3. Unifying the frameworks and the tooling

  • We also need to make it easy to work with projects across these
    application models. In order to do this we are working to merge the
    capabilities of .xproj/project.json and .csproj project systems into
    a single project system based on MSBuild. This transition will be
    automatic and will not require you to change your existing projects.
    This work will happen during the VS 15 release schedule and we will
    release another blog post with more details.

除了上面的这段话,关于“统一框架和工具”节点,还有两句话,其意思就是统一构建的方式,主要针对跨平台应用程序。

现在针对 .xproj/project.json 和 .csproj
应用程序的构建是不同的,上面的意思就是统一基于 MSBuild
的构建方式,并且保证不影响现在已有的应用程序,这部分改进包含在 Visual
Studio “15” 中,所以还是那句话,Visual Studio “15”
是微软下一步的重点,我们需要重点关注下。

评论中关于这部分的讨论很激烈😏。

总结

OK,MSTest支持.NET Core 1.0 RC2 和 ASP.NET Core 1.0 RC2
就是这么简单,整个都集成在了Visual Studio中。

强烈建议阅读英文原文

2017-11-06 22:20:31

4. What does Preview mean?

Remember that .NET Core has two main parts:

  • The Runtime/Libraries – This is the CLR, libraries, compilers, etc.
  • The Tooling – This is all the support in the .NET Core command line
    tools, Visual Studio and Visual Studio Code that enable you to work
    with .NET Core projects.

上面这段不需要翻译了,关于 .NET 跨平台的很多概念,我们很容易搞混淆,比如
.NET Core, .NET Framework 等等,.NET Core 包含
CoreCLR,、CoreFx、编译器、CLI、以及其它支持的工具,这里的工具并不是直接指的是
Visual Studio 或 Visual Studio Code,而是他们能让 .NET Core
应用程序运行的组件或工具。

We’re splitting the .NET Core “release train” so that those of you who
are waiting can go live on .NET Core 1.0 RC2 with confidence, while we
continue to deliver on our plans for the tooling:

  • The .NET Core 1.0 RC2 runtime is a true Release Candidate. It’s
    solid, stable, and it won’t change for RTM (except if something
    critical happens) and we feel good about it. It will have a
    “go-live” license, meaning you can get official support from
    Microsoft.
  • The tooling that supports .NET Core and ASP.NET Core, including the
    new command line tools and bits that plug into Visual Studio &
    Visual Studio Code, aren’t there yet. It’s going to change before it
    stabilizes. We’re going to call this tooling release Preview 1.

上面这段话包含的内容非常多,之前说了,.NET Core 其实是包含 Tooling
的,但这次 .NET Core RC2 的发布,Tooling 对应的版本是 preview
1,所以就像标题那样:.NET Core RC2 and .NET Core SDK Preview 1,微软是把
.NET Core 和 Tooling 的版本发布是分开的,虽然版本不一致,但其实都是 .NET
Core,这一点容易混淆,需要明确下,总感觉微软的这次发布是不得不发布的,就像他用了一个
splitting 词一样:分割发布,一个东西,两个版本

.NET Core 1.0 RC2
发布出来后,基本上就不会再进行改了,所以,我们现在就可以放心的在项目中使用它了,之前的
RC1 确实是太大的坑,在现有的 .NET Core 1.0 RC1 项目中,升级到 .NET Core
1.0 RC2 版本,这个工作量我想是蛮大的。

下面那句话,再次说了 Tooling 包含的东西,需要注意的是,CLI 属于 .NET
Core,准确的来说,CLI 属于 .NET Core 中的 Tooling,.NET Core 1.0 RC2
基本上不进行改了,具体指的是 CoreCLR,、CoreFx、编译器,但 Tooling
还是会进行修改的,所以,CLI 可能会进行修改,现在的版本命名为 Tooling
Preview 1。

5. ASP.NET Core is a console app

澳门新葡萄京官网首页 4

This migration from a class library that is designed to be run on the
DNX to a console application with a Program.cs and a Main method that
can be run by a new .NET toolchain is one of the most significant
changes that RC2 brings to ASP.NET Core.

上面这段叙述是概括性文字,在之前有几段文字是详细说明,ASP.NET Core 1.0
RC1 应用程序是 Class Library,并且项目中有一个Startup.cs文件,DNX
对应的工具进行启动它,而 ASP.NET Core 1.0 RC2 却是 Console
App,并且移除了Startup.cs增加了Program.cs文件,为什么要这样改变?其实在上面的介绍中已经进行说明了,我个人觉得就是微软将
DNX 和 .NET Core CLR 进行了统一,而导致了 ASP.NET Core 1.0 RC2
的改变,ASP.NET 跨平台不应该对应一个独立的 CLR 实现,它应该只是 .NET
跨平台的一种,将 ASP.NET Core 1.0 改为 Console App
之后,就更加统一了,就像这句话一样:This alignment means that a single
.NET toolchain can be used for both .NET Core Console applications and
ASP.NET Core applications.

澳门新葡萄京官网首页 5

上面这张图很好的表现了 .NET Core 和 .NET Core Applications 的关系,.NET
Core 是金字塔的低层,是所有 .NET Core Applications 的基础,再往上除了
ASP.NET Core 之外,还应该再加其它的 Applications,比如 .NET Core Console
等,Visual Studio 是开发它们的工具之一,位于金字塔的最上层。

6. Tooling Preview Support for .NET CLI

That’s exactly what we’ve done and packaged support for these tasks in
Visual Studio to make use of the dotnet tool.

在 ASP.NET Core RC2 版本中,我们可以在命令行中使用 CLI
进行还原程序包、构建和运行等任务,Visual Studio 现在也集成了 CLI
工具,我们可以很方便的在 Visual Studio 中使用 CLI。

澳门新葡萄京官网首页 6

7. Support for RC1 and RC2 projects

澳门新葡萄京官网首页 7

如何从 RC1 升级到 RC2?在创建 ASP.NET Core
应用程序的时候,会在解决方案的 Solution Items
目录下,生成一个global.json文件,配置如下:

{  "projects": [ "src", "test" ],  "sdk": {    "version": "1.0.0-rc1-final"  }}

如果需要升级到 RC2,我们需要将 version
版本修改为1.0.0-preview1-002702,如果不对 sdk
进行配置的话,默认将会使用 RC2 版本的 NET CLI tools。

8. .NET Core Templates

澳门新葡萄京官网首页 8

Visual Studio 2015 Update 2 中 .NET Core 项目模版如上图,.NET Core 和
.NET Framework 的 Web Application
依旧是分隔的,下面还有兼容版本的模版,“a .NET Core compatible class
library that compiles to a NuGet package.”这句话不是太懂。

ASP.NET Core Web Application(.NET Framework) 模版的意思是,Windows 下的
.NET Core Web Application 项目,也就是只适用于 Windows 平台。

左边 .NET Core 包含三个模版:

  • Class Library(.NET Core)
  • Console Application(.NET Core)
  • ASP.NET Core Web Application(.NET Core)

9. About Entity Framework Core RC2

For this reason, EF6.x will still be the most suitable choice for many
applications.

哈哈,上面这句话是亮点,所以,对于 Entity Framework Core RC2
来说,还是有一些问题的,我们在开发新项目的时候,如果需要保证项目的稳定性,尽量还是使用
EF 6.x 版本,那什么时候要用 Entity Framework Core RC2 呢?答案如下:

  • New applications that do not require features that are not yet
    implemented in EF Core
  • Applications that target .NET Core, such as Universal Windows
    Platform and ASP.NET Core applications

总的来说,如果项目中使用的是 EF 6.x 版本,那最好不要升级到 EF Core RC2
版本,因为中间的差异还是蛮大的,当然,如果项目很小,也是可以升级的,另外,新的项目如果是
.NET Core,最好还是使用 EF Core RC2,EF Core RC2 支持以下构建方式:

  • Full .NET (Console, WPF, WinForms, and ASP.NET 4)
  • Universal Windows Platform
  • ASP.NET Core
  • OSX
  • Linux

EF Core RC2 支持的数据库:

  • Microsoft SQL Server
  • SQLite
  • Postgres
  • SQL Server Compact Edition
  • InMemory (for testing purposes)

EF Core RTM 版本需要进行的工作:

  • Bug fixing
  • Performance tuning
  • Documentation

EF Core RC2
因为我还没用过,具体的特性还不清楚,但对于现在的版本,还是有一些问题的,简单的新项目可以暂时使用,大型项目就算了。

10. .NET Core Tools

You typically start .NET Core development by installing the .NET Core
SDK. The SDK includes enough software to build an app. The SDK gives you
both the .NET Core Tools and a copy of .NET Core.

.NET Core SDK 和 .NET Core Tools 是什么关系?SDK
有点文档的含义,你可以认为 .NET Core SDK 包含 .NET Core Tools,但现在
.NET Core SDK 只包含 .NET Core Tools,.NET Core Tools
中最重要的一个工具就是
CLI,除了一些默认的命令外,你也可以添加自定义的命名,详见:simple
extensibility model

CLI
命令如下(

  • dotnet new – Initializes a sample console C# project.
  • dotnet restore – Restores the dependencies for a given
    application.
  • dotnet build – Builds a .NET Core application.
  • dotnet publish – Publishes a .NET portable or self-contained
    application.
  • dotnet run – Runs the application from source.
  • dotnet test – Runs tests using a test runner specified in the
    project.json.
  • dotnet pack – Creates a NuGet package of your code.

关于单元测试使用 xUnit,详见:Getting started with xUnit (.NET Core /
ASP.NET Core)

The dotnet tool replaces the dnx and dnu tools that came with RC1. The
dnvm tool doesn’t have a replacement yet. That’s something that might
come in a later release.

dnx 和 dnu 已经被 dotnet 命名替换掉了,但 dnvm
并没有,可能会出现在后面的发布中,补充:dnvm 是管理 dnx
的命令,以后可能会添加针对 .NET Core CLR 版本的命令,只是现在还没确定。

11. .NET Core App Types

We’ve talked to many customers about how they want to deploy apps. We
heard two main models:

  • Deploy smaller apps that have a dependency on a centrally installed
    .NET Core version, perhaps used by multiple apps. We call this model
    “portable”.
  • Deploy larger self-contained apps that have no .NET Core
    dependencies. We call this model “self-contained”.

在 .NET Core RC1
版本的时候,应用程序文件一般都是和运行时一块打包的,放在发布文件的packages目录下,虽然这样有很多好处,比如运行时和基础类库是独立的,并且在每个应用程序中都是隔离的,隔离的好处就是可以单独进行管理,并且出现问题只在本应用程序中,但这样的方式就会有个问题,应用程序的发布文件会很大。

上面的部署方式,称之为“self-contained”,在 .NET Core RC2
版本中,除了这种部署方式,还提供了一种叫“portable”的方式,这种就我们之前部署
ASP.NET
应用程序一样了,只包含应用程序文件,运行时和基础类库都放在统一的地方,以供不同的应用程序使用,两种方式有好有坏,自己可以权衡使用。

12. NuGet Package References

.NET Core is a platform of packages. You can see how these packages are
referenced in a set of simple .NET Core samples that we have published.
There are two metapackages that you will typically reference in your
project file, one or the other. One is for apps and libraries that will
only run on .NET Core and the other for libraries that you intend to run
on all .NET platforms.

.NET Core samples:

.NET Core 是平台程序包,什么意思?解释在下面那句话,一般 .NET Core
应用程序中会包含两种类型的程序包,一个是仅仅在 .NET Core
上跑的,另一个是你想跑在所有的 .NET
平台,这两种只能在应用程序中配置一种,这段描述看得我有些懵逼😂。

Most of the time, you will reference the Microsoft.NETCore.App package.
This package represents the same set of libraries that are shipped with
the various .NET Core installers. The .NET Core tools understand this
reference and can use the locally installed copy of .NET Core instead of
relying on the versions from NuGet.

Microsoft.NETCore.App程序包,一般在 .NET Core
应用程序中都需要进行引用的,.NET Core
会安装很多不同的版本,它的作用就是,在应用程序中指定使用某一种 .NET Core
版本。

  • The .NET Standard Library is a new concept that represents the APIs
    available in all .NET implementations, at least those that support
    it. The .NET Framework, .NET Core and Mono/Xamarin will or already
    do support the .NET Standard Library. The .NET Standard Library can
    be thought of as the next version of Portable Class Libraries, but
    the set of APIs available and the way you create the libraries are
    much different.
  • The set of APIs exposed by the .NET Standard Library is currently
    smaller than we intend. In the next few releases, we intend to
    expand this set of libraries considerably to provide much more
    compatibility with the .NET Framework. We’ll publish more on this
    plan soon.

.NET Standard Library
是一个新的概念,它的特点就是更小,并且标准更加统一,后面 .NET Framework
都会慢慢使用这种标准进行发布。

ASP.NET Core 1.0 RC2 中project.json示例配置:

{  "userSecretsId": "aspnet-WebApplication1-42c12a0f-14cf-4e10-b6ec-712743a0386b",  "dependencies": {    "Microsoft.NETCore.App": {      "version": "1.0.0-rc2-3002702",      "type": "platform"    },    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-rc2-final",    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-rc2-final",    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-rc2-final",    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",    "Microsoft.AspNetCore.Razor.Tools": {      "version": "1.0.0-preview1-final",      "type": "build"    },    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",    "Microsoft.EntityFrameworkCore.Tools": {      "version": "1.0.0-preview1-final",      "type": "build"    },    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc2-final",    "Microsoft.Extensions.Logging": "1.0.0-rc2-final",    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final",    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {      "version": "1.0.0-preview1-final",      "type": "build"    },    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {      "version": "1.0.0-preview1-final",      "type": "build"    }  },  "tools": {    "Microsoft.AspNetCore.Razor.Tools": {      "version": "1.0.0-preview1-final",      "imports": "portable-net45+win8+dnxcore50"    },    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {      "version": "1.0.0-preview1-final",      "imports": "portable-net45+win8+dnxcore50"    },    "Microsoft.EntityFrameworkCore.Tools": {      "version": "1.0.0-preview1-final",      "imports": [        "portable-net45+win8+dnxcore50",        "portable-net45+win8"      ]    },    "Microsoft.Extensions.SecretManager.Tools": {      "version": "1.0.0-preview1-final",      "imports": "portable-net45+win8+dnxcore50"    },    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {      "version": "1.0.0-preview1-final",      "imports": [        "portable-net45+win8+dnxcore50",        "portable-net45+win8"      ]    }  },  "frameworks": {    "netcoreapp1.0": {      "imports": [        "dotnet5.6",        "dnxcore50",        "portable-net45+win8"      ]    }  },  "buildOptions": {    "emitEntryPoint": true,    "preserveCompilationContext": true  },  "runtimeOptions": {    "gcServer": true  },  "publishOptions": {    "include": [      "wwwroot",      "Views",      "appsettings.json",      "web.config"    ]  },  "scripts": {    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ],    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]  }}

13. .NET Core RC2 and .NET Core SDK Preview 1 Releases

发布包含:

  • .NET Core RC2
  • ASP.NET Core RC2
  • .NET Core RC2 SDK Preview 1

下载安装地址: ,如果安装了
Visual Studio 2015 Update 2,只需要安装两个东西:

  • Visual Studio official MSI Installer
  • NuGet Manager extension for Visual Studio