Changelog for C# and VB compilers

Julien Couvreur edited this page Mar 22, 2018 · 2 revisions

General information

Visual Studio 2017 Version 15.7

The C# compiler now supports the 7.3 set of language features including:

Visual Studio 2017 Version 15.6

The C# compiler now supports:

  • Compiler server on CoreCLR, for build throughput performance
  • Strong name signing on CoreCLR (/keyfile option, all OSes)

Two minor languages changes where made to the 7.2 language features:

  • Tie-breaker for in overloads (details)
  • Relax ordering of ref and this in ref extension methods (details)

Shipped APIs, Bug fixes

Visual Studio 2017 Version 15.5

The C# compiler now supports the 7.2 set of language features including:

  • Support for the Span<T> type being used throughout Kestrel and CoreFX via the ref struct modifier.
  • readonly struct modifier: Enforces that all members of a struct are readonly. This adds a layer of correctness to code and also allows the compiler to avoid unnecessary copying of values when accessing members.
  • in parameters / ref readonly returns: Allows for unmodifiable structs to be safely passed and returned with the same efficiency as modifiable ref values.
  • private protected access modifier: Restricts access to the intersection of protected and internal.
  • Non-trailing named arguments: Named arguments can now be used in the middle of an argument list without the requirement that all following arguments are passed by name as well.

Bug fixes

Visual Studio 2017 Version 15.3

The C# compiler now supports the 7.1 set of language features, including:

The C# and VB compilers now can produce reference assemblies.

When you use C# 7.1 features in your project, lightbulb offers to upgrade your project’s language version, to “C# 7.1” or “latest”.

Shipped APIs, Bug fixes

Visual Studio 2017 Version 15.0

The C# compiler now supports the 7.0 set of language features, including:

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.