RefactoringEssentials
RefactoringEssentials copied to clipboard
Support for VS 2017
This issue is used to centralize all the work done on VS 2017 support / C# 7 feature extensions.
General Notes
-
We have introduced copies of all projects suffixed ".2017" to be able to support VS 2015 and 2017 at the same time. VS 2015 will be packaged as version 4.x and VS 2017 as version 5.x. The VS 2017 project is based on .netstandard and a RE2017 compilation directive is defined.
-
.ConfigureAwait(false) is mandatory on all await expressions. It is ABSOLUTELY necessary to avoid threading issues/dead-locks in the unit tests. And of course it is a performance improvement. (We don't care about the thread we run on, anyway.)
Things that need to be done (please add more)
- [ ] Check for duplication/collisions with VS 2017 built-ins. (See this list and add them to the wiki)
- [ ] Check all areas that work with syntax that has changed: important:
- [ ] pattern matching (switch, is-expressions)
- [ ] expression bodies: accessors, constructors and destructors do not forget:
- [ ] out variables (those are presumably already covered by VS 2017 built-ins, though)
- [ ] Tuple syntax, literals
- [ ] ref locals, ref return
- [ ] literal digit separator, binary literals