2016-12-13 01:42:06 +01:00
|
|
|
# .NET Core Roadmap
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 02:01:47 +01:00
|
|
|
Our primary focus is to get the .NET Core 1.0 tooling to RTM quality for the
|
|
|
|
Visual Studio 2017 RTM ([please try the 2017 RC update][vs2017-rc] we shipped
|
|
|
|
today with improvements in this area).
|
|
|
|
|
|
|
|
However, we are also starting to think of the next version of the runtime.
|
|
|
|
Because of this, if you follow our repositories you will start to see .NET Core
|
|
|
|
2.0 versioning. While we are still in the process of planning the next release,
|
|
|
|
there are some big themes you will identify in the early work on GitHub:
|
|
|
|
|
|
|
|
[vs2017-rc]: https://blogs.msdn.microsoft.com/dotnet/2016/12/12/updating-visual-studio-2017-rc-net-core-tooling-improvements/
|
|
|
|
|
2016-12-13 22:17:24 +01:00
|
|
|
* **Lower the Barrier of Entry and Reach** .NET Standard 2.0 standardizes the
|
|
|
|
shared APIs across .NET Framework, .NET Core and Xamarin making it easy to
|
|
|
|
share code across all of .NET. .NET Core gain over 5,000 APIs from .NET
|
|
|
|
Framework as part of this work making it a broader platform. Simplifying how a
|
|
|
|
developer references .NET Core from many packages to one. Simplified
|
|
|
|
acquisition of runtime and tools. And easier to reference Linux platforms and
|
|
|
|
their dependencies. You can follow this work in the
|
2016-12-13 02:01:47 +01:00
|
|
|
[dotnet/standard](https://github.com/dotnet/standard) repo.
|
|
|
|
|
|
|
|
* **.NET Core Tooling**. Evolve the tooling aligned with the next .NET Core
|
|
|
|
runtime release. This will include tooling for choosing which .NET Core
|
|
|
|
version to target, to change the version of .NET Core for existing projects,
|
|
|
|
full package IntelliSense in .csproj files and more. You can follow this work
|
|
|
|
in the
|
|
|
|
[dotnet/roslyn-project-system](https://github.com/dotnet/roslyn-project-system),
|
|
|
|
[dotnet/sdk](https://github.com/dotnet/sdk), and
|
|
|
|
[microsoft/msbuild](https://github.com/microsoft/msbuild) repos.
|
|
|
|
|
|
|
|
* **Performance**. Continue to make the performance of building .NET Core
|
|
|
|
applications faster, especially in the inner loop. This is the cycle of
|
|
|
|
changing the source code and then restarting the application and making that
|
2016-12-13 22:21:30 +01:00
|
|
|
as fast as possible. You can follow part of this work in the
|
|
|
|
[dotnet/roslyn](https://github.com/dotnet/standard) repo.
|
2016-12-13 02:01:47 +01:00
|
|
|
|
|
|
|
* **.NET Core and Cloud**. Continue to improve how you run .NET Core
|
|
|
|
applications in Azure. Better logging, tracing and diagnosing errors in your
|
|
|
|
applications when running in the cloud. You can follow this work in the
|
2016-12-13 22:21:30 +01:00
|
|
|
[dotnet/corefx](https://github.com/dotnet/corefx),
|
|
|
|
[dotnet/corefxlab](https://github.com/dotnet/corefxlab/blob/master/docs/roadmap.md),
|
|
|
|
and
|
2016-12-13 02:01:47 +01:00
|
|
|
[aspnet](https://github.com/aspnet) repos.
|
|
|
|
|
|
|
|
* **Build from Source**. Make it very easy to clone the .NET Core repository and
|
|
|
|
GitHub and build the product. Great for experimenting with customizing the
|
|
|
|
product or trying to get it to run on Linux distributions other than the ones
|
|
|
|
we officially support. You can follow the bulk of the work in the
|
|
|
|
[dotnet/coreclr](https://github.com/dotnet/coreclr) and
|
|
|
|
[dotnet/corefx](https://github.com/dotnet/corefx) repos.
|
|
|
|
|
|
|
|
As mentioned above these are just some of the early themes we are going to
|
|
|
|
invest in. After we ship VS 2017 RTM you will hear more from us on the next
|
|
|
|
version of .NET Core, and as always let us know what is important to you.
|
|
|
|
|
|
|
|
## Ship Dates
|
|
|
|
|
|
|
|
| Milestone | Release Date |
|
|
|
|
|-------------------|--------------|
|
|
|
|
| .NET Core 2.0 | Spring 2017 |
|
|
|
|
| .NET Standard 2.0 | Spring 2017 |
|
|
|
|
|
|
|
|
# Components
|
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
.NET Core is a general purpose, modular, cross-platform and open source
|
|
|
|
implementation of .NET. It includes a runtime, framework libraries, compilers
|
|
|
|
and tools that support a variety of chip and OS targets. These components can be
|
|
|
|
used together or separately.
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2015-11-18 16:32:58 +01:00
|
|
|
Major .NET Core components:
|
2016-12-13 01:42:06 +01:00
|
|
|
* [Runtime](https://github.com/dotnet/coreclr)
|
|
|
|
* [Libraries](https://github.com/dotnet/corefx)
|
|
|
|
* [C#/VB compiler](https://github.com/dotnet/roslyn)
|
|
|
|
* [CLI tools](https://github.com/dotnet/cli)
|
|
|
|
* [NuGet](https://github.com/NuGet/Home)
|
|
|
|
* [MSBuild](https://github.com/microsoft/msbuild)
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
This roadmap is intended to communicate project priorities for evolving and
|
|
|
|
extending the scope of .NET Core.
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
# Technology Roadmaps
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2015-11-18 16:32:58 +01:00
|
|
|
Architecture:
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 02:01:15 +01:00
|
|
|
- [.NET Standard](https://github.com/dotnet/standard)
|
2016-06-28 01:25:20 +02:00
|
|
|
- [.NET Core Tools/CLI](https://docs.microsoft.com/en-us/dotnet/articles/core/tools/index)
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-03-09 17:36:18 +01:00
|
|
|
Version 1.0 OS Support:
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
OS |Version |Architectures|Configurations|Notes
|
|
|
|
------------------------------|-------------------------------|-------------|--------------|-----
|
|
|
|
Windows Client | 7 SP1 - 10 | x64, x86 | |
|
|
|
|
Windows Server | 2008 R2 SP1 - 2016 | x64, x86 | Full, Server Core, Nano (2016 only) |
|
|
|
|
Red Hat Enterprise Linux | 7.2 | x64 | |
|
|
|
|
Fedora | 23 | x64 | |
|
|
|
|
Debian | 8.2 | x64 | |
|
|
|
|
Ubuntu | 14.04 LTS, 16.04 LTS | x64 | |
|
|
|
|
Linux Mint | 17 | x64 | |
|
|
|
|
openSUSE | 13.2 | x64 | |
|
|
|
|
Centos | 7.1 | x64 | |
|
|
|
|
Oracle Linux | 7.1 | x64 | |
|
|
|
|
Mac OS X | 10.11, 10.12 | x64 | | 10.12 added in 1.0.2
|
|
|
|
|
|
|
|
There will be packages available for the native package managers for each OS.
|
|
|
|
(e.g. apt-get, rpm, pkg, msi) as well as zips.
|
|
|
|
|
|
|
|
Microsoft provides commercially reasonable support for ASP.NET Core 1.0, .NET
|
|
|
|
Core 1.0 and Entity Framework Core 1.0 on the OS and Version detailed in the
|
|
|
|
table above. Microsoft provides support for ASP.NET Core 1.0, .NET Core 1.0 and
|
|
|
|
Entity Framework Core 1.0 on Windows, Linux, and Mac OS X. For an explanation
|
|
|
|
of available support options, please visit [Support for Business and
|
|
|
|
Developers](https://support.microsoft.com/en-us/gp/contactus81?Audience=Commercial&SegNo=4).
|
|
|
|
|
|
|
|
# Project Goals
|
2015-09-11 07:26:18 +02:00
|
|
|
|
2015-11-18 16:32:58 +01:00
|
|
|
Broad goals:
|
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
* .NET Core code is high quality, has compelling performance, and is highly
|
|
|
|
reliable.
|
|
|
|
* .NET Core can be ported to a broad set of OS platforms and chip architectures.
|
|
|
|
* .NET Core can be deployed with the application, side-by-side with other
|
|
|
|
versions.
|
|
|
|
* .NET Core has a broad API surface that makes it suitable for most payloads.
|
|
|
|
* Developers can acquire a .NET Core developer environment quickly and
|
|
|
|
intuitively.
|
|
|
|
* Developers can productively and intuitively build apps, using documentation,
|
|
|
|
samples, community resources, and NuGet packages.
|
|
|
|
|
|
|
|
# Contributions
|
2015-11-18 16:32:58 +01:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
Contribution goals:
|
2015-09-11 07:26:18 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
* Encourage an active community welcoming contributions from all.
|
2015-09-11 07:26:18 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
The .NET Core maintainers have taken a liberal approach to contributions since
|
|
|
|
the outset of the .NET Core open source project and have taken changes outside
|
|
|
|
of the published
|
|
|
|
[priorities](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/project-priorities.md).
|
2015-11-18 16:32:58 +01:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
# Microsoft Distro
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
Microsoft ships multiple .NET Core distros. It is important that Microsoft can
|
|
|
|
successfully ship .NET Core at quality and meet its desired dates.
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
# Other Distros
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
.NET Core will ship as part of many Linux distros and we are actively working
|
|
|
|
with key partners in the Linux community to make it natural for .NET Core to go
|
|
|
|
everywhere people need it. We are constantly looking to expand our distro
|
|
|
|
support and welcome contributions and collaborations in this direction.
|
2016-10-17 21:35:35 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
## Goals
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
* There are high-quality ports for Linux, macOS and Windows.
|
|
|
|
* There are high-quality ports for X64, X86, ARM32, and ARM64.
|
|
|
|
* .NET ships stable releases multiple times a year.
|
|
|
|
* Contributions should be prioritized that align with these goals.
|
2015-09-06 06:53:51 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
## Workloads
|
2015-09-11 07:26:18 +02:00
|
|
|
|
2016-06-28 01:25:20 +02:00
|
|
|
The Microsoft distro currently supports the following workloads:
|
2015-09-11 07:26:18 +02:00
|
|
|
|
2016-12-13 01:42:06 +01:00
|
|
|
* Console Apps
|
|
|
|
* ASP.NET Core
|
|
|
|
* Windows 10 UWP
|