Closed scottkne closed 5 years ago
I sympathize with the pain of balancing backwards compatibility and stable toolchains with new code and features. Our general approach is to build binaries against the oldest supported versions of .NET platforms - .NET 4.5.2 at the moment - to maximize compatibility. But we use the latest and greatest features of C# to keep the codebase incrementally moving forward and to hopefully leverage the quality assurance tools and improvements that come with each new version of C#.
There are a few paths to hopefully reduce the pain for projects using older toolchains, including:
Microsoft reportedly provides a C#7 update for VS2015, for example, see https://www.nuget.org/packages/Microsoft.Net.Compilers/
C#7 compilers and versions of VS 2017 are freely available from Microsoft, potentially they could be used to compile the binaries that the VS 2015 toolchain can use
Public nuget Clover releases or adding your own internal artifact repositories for custom builds might also help separate C#7 code from older toolchain stacks. https://www.nuget.org/packages/Clover.RemotePayWindows/
We are excited you are leveraging the open source nature of our product, and hope it increases the flexibility and usefulness of it for you. I do hope your project can find an easy way to leverage the code and handle the various toolchains with minimal hassle to you. And we are already looking forward to exciting new features they are talking about in C#8, though happily for both our sakes its release appears to be a ways off yet.
Hi, Please for compatibility with developers that use VS 2015, stop using c# 7 features, VS2015 has the C# 6. The current released project does not compile as described for VS2015 enterprise.