Skip to content

Update our tools to run on >NET 8 #996

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

Merged
merged 7 commits into from
Nov 22, 2023

Conversation

BillWagner
Copy link
Member

Changes in order of commits:

  1. Update the runtime to .NET 8. Enable nullable warnings and implicit usings in all projects.
  2. Update all NuGet packages to the latest released version (See note below).
  3. Remove unnecessary usings and convert namespace declarations to file scoped namespaces.
  4. Add an editorconfig for us to develop our own standard.
  5. Update Yaml files for workflows to install the .NET 8 SDK.

Note on NuGet packages:

I tried updating the FSharp.Formatting package. The Markdown converter is using version 4.0.1, and the latest is on version 19. Version 20 is in alpha. There are a small number of source breaking changes in APIs. Those were straightforward. You can see them reverted in the 2nd commit. The reason I reverted them is that the behavior is different, and I couldn't get everything working in a reasonable amount of time. There's two behavior issues stopping the update:

  1. Instead of putting the space at the of a text span before end note, the updated library truncates the text node and adds a second sibling text node with a single space. This is similar for a number of formatted nodes (examples, etc).
  2. When the first column of a table contains code bold code text, the converter renders a text node with ** in the word doc.

I'll make an issue for these so we can work on that when either Jon or I have time.

There were some breaking changes in the Word Converter packages. The only source code changes were to address the Word converter source breaks.
Review this diff by hiding whitespace.

First, remove all unnecessary usings.
Second, convert all namespace declarations to file scoped namespaces.
This one is consistent with the version on dotnet/docs. We can season to taste as we're ready.
@BillWagner BillWagner requested a review from jskeet November 21, 2023 22:18
I've got a PR in that repo to update it. Once approved, I'll install the NuGet package here, and update that YML file.
Copy link
Contributor

@jskeet jskeet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few nits. Yes, we'll need to work out what to do about the F# Markdown package.

- Update Roslyn packages to 4.8
- Remove coverlet
- Formatting in csproj.
@BillWagner BillWagner merged commit b06e08b into dotnet:draft-v8 Nov 22, 2023
@BillWagner BillWagner deleted the tools-on-net8 branch November 22, 2023 14:31
@jskeet
Copy link
Contributor

jskeet commented Feb 12, 2024

I'm still getting warnings:

warning NU1608: Detected package version outside of dependency constraint: FSharp.Formatting 19.1.1 requires FSharp.Core (= 7.0.400) but version FSharp.Core 8.0.101 was resolved.
warning NU1608: Detected package version outside of dependency constraint: FSharp.Compiler.Service 43.7.400 requires FSharp.Core (= 7.0.400) but version FSharp.Core 8.0.101 was resolved.

The commit for the update to Formatting v17 includes "Now, the warning on dependencies has gone away. (The F# formatter approves of the new F# compiler)" - have the warnings still gone away for you, even with 19.1.1?

@BillWagner
Copy link
Member Author

I'm still getting warnings:

warning NU1608: Detected package version outside of dependency constraint: FSharp.Formatting 19.1.1 requires FSharp.Core (= 7.0.400) but version FSharp.Core 8.0.101 was resolved.
warning NU1608: Detected package version outside of dependency constraint: FSharp.Compiler.Service 43.7.400 requires FSharp.Core (= 7.0.400) but version FSharp.Core 8.0.101 was resolved.

The commit for the update to Formatting v17 includes "Now, the warning on dependencies has gone away. (The F# formatter approves of the new F# compiler)" - have the warnings still gone away for you, even with 19.1.1?

I am still getting it on the build, but not in the NuGet CLI. Interesting.

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

Successfully merging this pull request may close these issues.

2 participants