-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Added missing valid options for -langversion compiler option #5371
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
Conversation
|
Most probably the section Minimum compiler version needed to support all language features should be updated with the correct versions. |
| [↩](#TCS7)<a name="FCS7">CS7</a>: Microsoft Visual Studio/Build Tools 2017 | ||
| [↩](#TCS71)<a name="FCS71">CS71</a>: Microsoft Visual Studio/Build Tools 2017 | ||
| [↩](#TCS72)<a name="FCS72">CS72</a>: Microsoft Visual Studio/Build Tools 2017 | ||
| [↩](#TCS73)<a name="FCS73">CS73</a>, <a name="FLatest">Latest</a>: Microsoft Visual Studio/Build Tools 2017 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the 7.x versions require specific minor versions of VS 2017 (like 15.7 for C# 7.3). Is that worth specifying here? If not, you can probably combine all the VS 2017 lines into one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another question: what should be told to the folks using Visual Studio Code with .NET Core (so, no Visual Studio)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pkulikov I think that for .Net Core, you wouldn't use the -langversion parameter to csc, you would use the <LangVersion> property in csproj. So, this page isn't really relevant to .Net Core.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't the documentation for the csproj property (by the way, is it up-to-date itself?) the same as for this compiler option? The related Visual Studio doc page references this compiler option page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm talking about this page:
https://docs.microsoft.com/en-us/visualstudio/ide/reference/advanced-build-settings-dialog-box-csharp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should say which version of the .NET core tools is required for the C# versions 6.0 and greater (if my timeline is right).
With #2821 I'd like to put that information in one easy-to-find place. Until then, it should be here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BillWagner I've added required Visual Studio 2017 versions for C# 7.1...7.3 versions. As for .NET Core, it's related to #4154. Is there a mapping .NET Core SDK version -> Roslyn version? Then, from the Roslyn version, we can get the language version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That PR might be useful: dotnet/core#1454
BillWagner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, this is great. Thank you @pkulikov
There are a couple changes I'd like you to make. I'm working internally to track down the right download for the C# 4.0 spec. I'll add a comment as soon as I find it.
| C# 2.0 [c042926_ISO_IEC_23270_2006(E).zip](http://standards.iso.org/ittf/PubliclyAvailableStandards/c042926_ISO_IEC_23270_2006(E).zip) ISO/IEC 23270:2006 in PDF format : ISO Freely Available Standards | ||
| C# 3.0 [CSharp Language Specification.doc](http://download.microsoft.com/download/3/8/8/388e7205-bc10-4226-b2a8-75351c669b09/CSharp%20Language%20Specification.doc) C# Language Specification Version 3.0 : Microsoft Corporation | ||
| C# 4.0 [Ecma-334.pdf](https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf) Standard ECMA-334 4th Edition | ||
| C# 5.0 [CSharp Language Specification.docx](https://www.microsoft.com/download/details.aspx?id=7029) C# Language Specification Version 5.0 : Microsoft Corporation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not related to your PR, but I'm really excited to ask you to update this link. The C# 5 ECMA spec download is here: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf
| C# 2.0 [ISO/IEC 23270:2006](https://www.iso.org/standard/42926.html) Information technology -- C# Language Specification : ISO Catalogue | ||
| C# 2.0 [c042926_ISO_IEC_23270_2006(E).zip](http://standards.iso.org/ittf/PubliclyAvailableStandards/c042926_ISO_IEC_23270_2006(E).zip) ISO/IEC 23270:2006 in PDF format : ISO Freely Available Standards | ||
| C# 3.0 [CSharp Language Specification.doc](http://download.microsoft.com/download/3/8/8/388e7205-bc10-4226-b2a8-75351c669b09/CSharp%20Language%20Specification.doc) C# Language Specification Version 3.0 : Microsoft Corporation | ||
| C# 4.0 [Ecma-334.pdf](https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf) Standard ECMA-334 4th Edition |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This link now goes to C# 5.0. I'm looking for the C# 4.0 spec download. We may merge this without fixing that, because I can't find a download link for 4.0 yet.
| [↩](#TCS7)<a name="FCS7">CS7</a>: Microsoft Visual Studio/Build Tools 2017 | ||
| [↩](#TCS71)<a name="FCS71">CS71</a>: Microsoft Visual Studio/Build Tools 2017 | ||
| [↩](#TCS72)<a name="FCS72">CS72</a>: Microsoft Visual Studio/Build Tools 2017 | ||
| [↩](#TCS73)<a name="FCS73">CS73</a>, <a name="FLatest">Latest</a>: Microsoft Visual Studio/Build Tools 2017 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should say which version of the .NET core tools is required for the C# versions 6.0 and greater (if my timeline is right).
With #2821 I'd like to put that information in one easy-to-find place. Until then, it should be here.
|
Thanks for making these updates. I'll approve this now. If I get a good location for the C# 4.0 spec, I'll update that in another PR. Thanks again. |
No description provided.