Skip to content
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

Merge vNext into master #2291

Merged
merged 52 commits into from
Dec 3, 2021
Merged

Merge vNext into master #2291

merged 52 commits into from
Dec 3, 2021

Conversation

333fred
Copy link
Contributor

@333fred 333fred commented Dec 3, 2021

No description provided.

333fred and others added 30 commits January 19, 2021 20:15
…nd lots of work to be done, but it runs on windows!
[vnext] Merge master into vNext to bring vNext up to latest state
@filipw
Copy link
Member

filipw commented Dec 3, 2021

This is the summary of what this change brings:

  1. There is now a new .NET 6.0 build of OmniSharp published as build artifact. It gets published for the following RIDs

The previous .NET Framework targets for Windows and Mono based variants for MacOS and Linux (including arm64) are still all there and OmniSharp is cross compiled for them.

  1. The .NET 6.0 build uses only .NET SDK MSBuild on *nix. On Windows it queries for VS instances as long as they come with SDK 6. In either case .NET SDK 6.0.100 must be installed and no newer SDK must be available. It has to be official install - source built SDK is not supported due to NuGet versioning differences.
  2. When new .NET 6 SDK comes out, OmniSharp will not be able to handle it until it is upgraded to that version (this is caused by having runtime dependency on NuGet assemblies, which are typically revved up in SDK releases)
  3. Both HTTP and STDIO servers have been upgraded to .NET 6.0.
  4. The 6.0 build is almost a drop-in replacement for the old server. It is compatible functionally but cannot be executed on its own, because it is not built as self-contained application - we require dotnet SDK to be installed anyway, so there is no point in building like that. Because of that, .NET 6 build of OmniSharp is started using dotnet OmniSharp.dll. To achieve this with VS Code you need to have at least v1.23.18-beta2 installed, with the following settings:
{
    "omnisharp.useModernNet": true,
    "omnisharp.path": "latest"
}
  1. Non-SDK-style .NET Framework projects are not supported by the .NET 6.0 build. For opening legacy .NET Framework projects, the global Mono O# variant is still needed (*nix) or the .NET Framework O# variant (Windows), as in the past.
  2. Ready to Run is enabled Improve startup performance by enabling ReadyToRun. #2303

Copy link
Member

@filipw filipw left a comment

Choose a reason for hiding this comment

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

:shipit:

@filipw filipw merged commit 3388b9b into master Dec 3, 2021
@filipw filipw deleted the feature/omnisharp-vnext branch December 3, 2021 22:56
iabdelkareem referenced this pull request in iabdelkareem/nvim-lsp-installer Feb 10, 2022
in the latest omnisharp-roslyn release at the time of the commit 'v1.38.0', omnisharp built a language-server that leverge .net6 runtime instead of mono.

As mentioned in this PR `https://github.com/OmniSharp/omnisharp-roslyn/pull/2291#issuecomment-985834029`, the 6.0 build will replace the old server running on mono.
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.

3 participants