Skip to content

Need to determine which .NET Core SDK has which C# version enabled #4154

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
BillWagner opened this issue Jan 19, 2018 · 14 comments
Closed

Need to determine which .NET Core SDK has which C# version enabled #4154

BillWagner opened this issue Jan 19, 2018 · 14 comments
Assignees

Comments

@BillWagner
Copy link
Member

BillWagner commented Jan 19, 2018

We explain which C# version ships with which release of Visual Studio. @damtur raised this issue after a talk that he could not find that mapping for the versions that ship with .NET Core SDK versions. For example, which .NET SDK has C# 7.1? or 7.2? This make affect the dotnet CLI, as the compiler ships as a dotnet tool.

We need to make this more prominent if it is published. If not, we need to publish it more prominently.

/cc @richlander @jcouv @KathleenDollard

@jcouv
Copy link
Member

jcouv commented Jan 19, 2018

Tagging @livarcocc for this

@mairaw mairaw added P1 labels Jan 22, 2018
@mairaw mairaw added this to the 2018 - Quarter 1 milestone Jan 22, 2018
@mairaw mairaw added the blocked Blocked for some reason label Jan 22, 2018
@mairaw mairaw modified the milestones: 2018 - Quarter 1, Sprint 134 (4/9/2018 - 4/27/2018) Apr 2, 2018
@mairaw mairaw removed the blocked Blocked for some reason label Apr 2, 2018
@BillWagner
Copy link
Member Author

As a work around, you can add an error pragma to the source to print the version:

#error version

This cause the compiler to print its version (the compiler software version, not the project LangVersion) to the console. It also causes the build to fail.

@KathleenDollard
Copy link
Contributor

I agree we need this.

Do we have a place in docs to put this?

@dasMulli
Copy link
Contributor

cross-linking https://github.com/dotnet/cli/issues/8042 which raised some other questions in the process:

Same probably goes for F# since it now ships in-box.

@svick
Copy link
Contributor

svick commented Apr 11, 2018

@dasMulli

How do I know which Roslyn version number corresponds to which C# version

This is documented in the Roslyn repo wiki article NuGet packages. Though including that information somewhere in docs.MS is probably a good idea.

@BillWagner
Copy link
Member Author

@KathleenDollard said:

Do we have a place in docs to put this?

I'd suggest either the .NET Core "What's new" page, or coordinating with the ongoing versioning work.

@richlander
Copy link
Member

I think we need two things:

  • An entry in "What's new".
  • a decorder ring table that explains what's in each release. This can go in docs or in a repo. It is probably best put in dotnet/core in release notes. Yes?

@svick
Copy link
Contributor

svick commented May 21, 2018

Putting together information from NuGet packages on Roslyn wiki (which maps Roslyn versions, C# versions and VS versions), Releases on the cli repo (which maps .Net Core SDK versions and VS versions) and from my own attempts of running various versions of the .Net Core SDK, as far as I can tell, corresponding versions are:

Roslyn C# VS .Net Core SDK
1.x 6.0 2015
2.0 7.0 15.0 1.0.4
2.1 7.0 15.1
2.2 7.0 15.2
2.3 7.1 15.3 1.1.4
2.4 7.1 15.4 2.0.2
2.6 7.2 15.5 2.1.2
2.7 7.2 15.6 2.1.100
2.8 7.3 15.7 2.1.200
2.9 7.3 15.8

@dasMulli
Copy link
Contributor

In theory, it also bundles an F# compiler (and a version of NuGet but that's hardly relevant)

@BillWagner
Copy link
Member Author

PR #6081 will fix this.

@BillWagner
Copy link
Member Author

This was fixed in #6081

@colonelchlorine
Copy link

@BillWagner Not sure if #6081 solved the problem of this ticket. Having trouble finding the mapping of .NET Core <-> language version (C# in particular). svick's post above is the only thing I can find. Might be missing something?

Checked DotNet Core Versions and don't see the language versions that line up.

@BillWagner
Copy link
Member Author

BillWagner commented Oct 5, 2018

@colonelchlorine This paragraph has the information you need. It's the final paragraph in .NET Core Version History

We didn't add it to docs, but rather put it on the .NET Core downloads page. That way, it's always up to date.

Detailed information about the versions of individual components, including framework and language compiler versions, can be found on the .NET Core downloads page. For detailed information about previous versions, select the requested version from the .NET Core download archives page. Detailed support information can be found in the article describing the official .NET Support Policy.

@colonelchlorine
Copy link

Aha - bit tricky to find. Needed to go to the "Find more in .NET Core 2.1 downloads" or "download archives" from the Downloads page. The archive pages are full of useful info. Thanks @BillWagner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants