-
Notifications
You must be signed in to change notification settings - Fork 679
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: Plugin has limited support on ARM devices #4348
Comments
11 days pass .......... I think we need to know the roadmap about that , coz arm64 devices will more and more use for developer |
any news about that ..... I think many .NETer need to use local debug in arm devices |
We really need this. Until this is viable using .NET as a hobbyist on a raspberry pi is not viable. We need to be able to use remote-ssh in vs code and code against it and run and debug on it. |
Picked up the Pi400 recently and it'd be great to have intellisense support so that we can work with the GPIO from C#/.NET for local development. |
.NET Core's goal of being cross-platform is very great. OmniSharp should follow this too. I have .NET 5 on my Raspberry Pi, but I can't use this extension. I tried MonoDevelop one time, but that broke for no reason, even though Mono worked perfectly. I have a feeling Mono will be outdated in a year due to what .NET is becoming. |
Not working on ARM64 as well, hope we get some love soon :) |
If you're using remote-ssh, why not using remote debugging. OmniSharp-VSCode is supported remote debugging in ARM & ARM64. |
Strong desire to native support Apple Silicon |
+1 for ARM devices. Millions of M1 Macbook pro and Arm-based Windows Laptops are coming into the market now. |
If you just want an autocomplete C# editor, you can try Omnisharp-Vim. You can refer to this blog post for the setup > https://mycsharpdeveloper.wordpress.com/2021/10/19/setting-up-a-csharp-autocomplete-ide-using-vim-on-pi-64-bit/ |
A prerelease build of the C# extension with experimental language server support for Linux Arm64 is available at https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.23.18-beta1. You will need to set your "omnisharp.path" to "latest" as there is not a published release of O# for this platform. There is also no Razor language support in this build. |
In case it isn't obvious, this extension support Windows ARM64 and macOS ARM64 already. |
why does arm64 package still use amd64 version of mono? |
how to use dotnet instead the OmniSharp's mono? I use the dotnet run ominisharp.exe but will got
|
I recently installed the v1.24.0-beta1 pre-release alongside .NET 6 (ARM64) and |
Actually, I got the ARM64 version working by simply downloading standalone omnisharp-roslyn from https://github.com/OmniSharp/omnisharp-roslyn/releases/tag/v1.38.0 and specifying its path for the VS Code extension instead of |
@neon-sunset how to set the path? I got error like: Starting OmniSharp server at 1/3/2022, 4:46:08 PM
Target: /Users/lisa/Documents/nncase/nncase.sln
[ERROR] Error: spawn /Users/lisa/Downloads/omnisharp-osx-arm64-net6.0/OmniSharp.dll EACCES |
You have to add an executable attribute to the file to make macOS happy: |
The prerelease v1.24.0-beta1 does the following when you set
It is recommended to move to this new extension and rely on the procedure described above. Adding executable attributes and using manually downloaded 1.38.0 OmniSharp with the current C# Extension only works by coincidence 😄 |
Here is a short report of my efforts to try and do remote development with OmniSharp from an x64 Mac as client, and a M1 (arm64) iMac as the development server. I am using the When I enable the extension on the remote host, it incorrectly downloads the When running locally on the M1 iMac it correctly downloads the So then I tried the following, which actually seems to work: Manually copy the local extension directory to the remote-server directory on the M1 machine. rm -r ~/.vscode-server/extensions/ms-dotnettools.csharp-1.24.0
cp -Rp ~/.vscode/extensions/ms-dotnettools.csharp-1.24.0 ~/.vscode-server/extensions/ This actually seems to work! Now I get intellisense and debugging with breakpoints and exceptions, when doing remote ssh debugging from x64 Mac to M1 Mac!! |
With "Use Modern Net" disabled, everything works fine on my M1-based Mac. 🥰 - Despite some strange messages in the OmniSharp log such as "Received response for /findusages but could not find request." (same for /quickinfo) With "Use Modern Net" enabled, OmniSharp does not even start unfortunately:
|
@sschultze When running on an M1 Mac we download an arm64 build of OmniSharp. Do you have the arm64 build of the dotnet SDK installed? Do you have the arm64 build of VS Code installed? |
@JoeRobich I had indeed installed a combination of VS Code arm64 and .NET 6 x64. I wasn't aware of this anymore 🙈, but I recall having had to do this because of otherwise not being able to use OmniSharp a longer time ago. (Not 100% sure.) I have just removed .NET 6 x64 and installed the arm64 build instead, and also enabled "Use Modern Net" in OmniSharp. And everything I tested (IntelliSense, debugging etc.) seems to work fine. And noticeably faster than my old setup. 🚀 Thank you! 😊 |
If you need blazor/razor language support on arm64 devices: Clone razor-tooling v17.0-preview3 Follow the razor-tooling build instructions Go to the Copy the
|
Just an update from me, I got everything working it seems with Windows 11 on ARM64 (specifically a Parallels VM on a macMini with their M1 processor). I was even able to use the "Debug Test" code lens on an xUnit test in the PowerShell Editor Services project. 🥳 WindowsWindows Version 22H2 OS Build 22621.160 VS CodeVersion: 1.68.1 (user setup) OmniSharpExtension v1.25.0, specifically installed the ARM64 build from the releases page (which did NOT appear to be what the marketplace automatically installed). Settings:
OmniSharp server started with .NET 6.0.301 dotnet.NET Core SDK v6.0.301, ARM64 build Yay for forward progress! |
Closing as ARM64 is well supported. |
Using this issue to track an announcement.
This plugin is not currently supported on ARM-based devices. If you find that something doesn't work for you, please check out the below issues first before filing a new one:
Linux: #2771
macOS: #4277 -- This can be addressed by updating macOS
macOS: #4605 -- This can be addressed by installing Rosetta
macOS: #4343
Windows: #3006
Windows: #3005
We're aware of the lack of support, and we're currently in the process of auditing tooling support across the .NET tooling stack on ARM-based devices to develop a better understanding of where the issues lie. When work to address those issues gets prioritized and done, we'll update this and other issues.
The text was updated successfully, but these errors were encountered: