Open rezanid opened 7 months ago
I started seeing this today, in a project that had previously been working. Getting an error from the analyzer saying I need to use at least C# 8
Which I most certainly am
Doesn't work from VS (17.10P2) or from dotnet CLI (SDK 8.0.200).
Unfortunately I did a full Patch Tuesday update, including grabbing the new VS preview, so I don't know which thing broke it.
Ah, looks like I probably hadn't built the net46
target since applying the fixer to use range syntax this morning, so the software updates were unrelated.
Reverting that, I do still see the warning node, but the types are being generated. The list includes Index.g.cs
, but Range.g.cs
is missing.
...And it's mentioned on the readme under a note for .NET 3.5. If you don't have ValueTuple
, you don't get Range
. Adding a reference to the ValueTuple package fixes it right up.
🦆
Description (optional)
I have several NetFramework 4.6.2 projects in a solution and when compiling them, I noticed build issues when using the new range syntax for strings. I replaced the usages of range with SubString calls and compiled the solution then opened the compiled assembly and noticed that the System.Range has not been included.
Maybe I'm doing something wrong? but, I wasn't able to find anything about this in the docs.
Reproduction Steps
Expected Behavior
The assembly should contain System.Range and the range syntax should work.
Actual Behavior
If range syntax is used the build will fail. If range syntax is not used, build is successful, but the System.Range won't be included.
System info
This section should contain useful info such as:
Additional context (optional)
I did not notice any messages from Polysharp in the build log, even when building with detailed logging.