-
Notifications
You must be signed in to change notification settings - Fork 676
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
Announcement: Planned removal of the included Mono & MSBuild tools #5120
Comments
I guess the removal of bundled msbuild is the reason omnisharp suddenly fails on my projects with
Having a bundled version seems like a good idea to me, especially if the alternative is chasing version dependencies manually. |
We never shipped .NET Framework reference assemblies, so the bundled MSBuild was only suitable for .NET Core (and .NET 5+) development, and it was a poor man's replacement for discovering the MSBuild from the .NET SDK installation. Since for .NET Core (and .NET 5+) development you anyway need to have the relevant .NET SDK installed, and since .NET SDK has the appropriate MSBuild already, this will be the MSBuild discovered and used by OmniSharp. |
Does this mean that using Unity projects with this package will essentially become impossible for the time being without changing the flag back (or after the flag is dropped)? It just so happens that I already created an issue on the Unity VSCode package issue tracker around Unity generating legacy .NET Framework 4.7 |
Yes, for your unity projects you can set
Yes, Unity could possibly continue to target net471, but they would definitely need to update to SDK-style projects. |
Hi @JoeRobich, I set "omnisharp.useModernNet": false for User and Workspace but intellisense's omnisharp dont'works |
@tngmrk77 Can you please open a new issue and provide the requested OmniSharp Log and C# Log from the VS Code output pane? |
These changes will be complete when v1.25.0 ships. |
v1.25.0 has shipped with this change. A .NET 6 SDK is required when running with "omnisharp.useModernNet" set to "true", which is the default configuration. |
This seems to have completely broken Unity projects. If I set useModernNet to Or with useModernNet set I'm on Fedora 36 and everything seems installed when I go through setup set again (and again). |
Having the exact same issue as @esklarski, I'm on Fedora 35. |
@esklarski From the error |
fyi I wrote a stackoverflow answer for how I got it working again on Windows. |
Can you provide a solution on ubuntu ? |
I've done exactly as those instructions say.
I forget the exact version just now, 6 something. The problem could be the Fedora packaging, any suggestion how to check?
|
This is my steps:
"omnisharp.useModernNet": true,
|
I have the mono-complete package installed, and v1.25.0 still breaks things. |
@esklarski Lets continue this investigation on #5232. Hopefully we can come up with a workable solution. |
Thanks!! |
I understand the need for breaking software changes like this, but please consider communicating this change in a more clear way to end-users. I have the latest For more details -- I am on Ubuntu, latest version of Thank you for all the work your team does! |
To fix Intellisense/Omnisharp on Ubuntu 22.04 use https://launchpad.net/~eofla/+archive/ubuntu/msbuild and install the msbuild and msbuild-roslyn packages. Also make sure omnisharp.useModernNet is false and the mono-complete package is installed. |
Thanks, this fixed the error "Could not locate MSBuild instance to register with OmniSharp" for me. |
if find many dotnet sdk ,how to select the sdk to find msbuild to Registered MSBuild instance? |
@1w1f You can set the {
"SDK": {
"Version": "{enter version string}"
}
} |
I'm getting a Broken pipe error when installing Msbuild-roslyn after Msbuild: |
There is a minor bug that, after set useModernNet=false, omnisharp restarts and immediately fails due to lack of OmniSharp.exe. |
Hello, I downloaded Mono, even though I had a very recent version, and restarted vs code. It still shows this error. Software versions: macOS Monterey 12.6 |
@filipw Reverted C# extension to 1.25.0 and works again. Thanks 👍 |
@filipw @ATikadze still have the same issue in 1.25.2
I can provide full repository with dockerfile if needed |
"Go To Definition" is STILL not working on windows, vscode. What is this plugin good for? NOTHING in the documentation works. All the commands do NOTHING. |
Background:
The included Mono and MSBuild tools were added to support easy development of C# using .NET Core. We have frequently updated these build tools to match the current shipping SDK tooling.
On Windows we did not need to ship a copy of Mono because we could rely on the .NET Framework being installed. For MacOS and Linux we shipped a minimal Mono that would support running MSBuild and OmniSharp. With these tools, the .NET SDK installed, and the dotnet CLI discoverable from the environment PATH, developers would have good support when developing against the newer SDK-style projects.
There was some support for Full Framework projects with this configuration, but that was considered a bonus. Our most common Full Framework projects (Unity) were unsupported with this configuration because the .NET 4.7.1 targeting pack was not included.
In the future .NET Framework OmniSharp builds will not ship with Mono or the MSBuild tooling (See announcement omnisharp-roslyn#2339, See PR omnisharp-roslyn#2360).
Proposal:
To ensure that the C# extension remains usable out of the box for .NET SDK projects, we will be changing the default value of
omnisharp.useModernNet
totrue
. This means by default OmniSharp will run on the .NET SDK and .NET Framework projects will likely not load properly. It will require the .NET 6 SDK be installed and the dotnet CLI to be discoverable from the environment PATH.Users who need .NET Framework support will have to set
omnisharp.useModernNet
tofalse
to download the .NET Framework build of OmniSharp. Linux and MacOS users will need to have a complete system install of Mono including MSBuild (Download). Windows users will need to have the Visual Studio MSBuild Tools or a full Visual Studio installed (Download).The
omnisharp.useGlobalMono
setting will be removed as there is no longer an included Mono and we will always use the system installation of Mono.The text was updated successfully, but these errors were encountered: