RaspberryDebugger
RaspberryDebugger copied to clipboard
Visual Studio 2022 support with .NET 6 installation
- Support for Visual Studio 2022 only because of Visual Studio SDK API changes
- .NET 6 gets installed the first time starting the debugger with a Raspian without .NET installed -> no tests done if any .NET is preinstalled. Behaviour for this situation is unkown so far.
- Using standard OpenSSH from Windows 10/11
- Only actual .NET SDKs versions (Core 3.1. .NET 5 + 6) included in catalog json
can you also add my PR #38 and provide a vsix until this is merged ?
Can you provide the vsix file? Thank you for the hard work!
Can you provide the vsix file? Thank you for the hard work!
For me it was a pleasure. The hard work was done by nforgeio. I am fairly new to github. Where can I make the vsix file available? Let me know, please.
Where can I make the vsix file available? Let me know, please.
submit it with an different ID to gallery until it is merged.
Can you also add my PR and update the lib to 17.x version.
Thanks MagicAndre1981, I'll try to submit it to gallery.
I checked out this branch and built it then used the debug vsix to install to VS 2022. However when I go to add a new raspberry connection and fill in the known good details, it locks up and I have to kill VS with the task manager. Any ideas before I start digging into a debug cycle?
Is it an ASP.NET project? It's searching for an "Absolute path" - don't know why. Seems to be an VS debugging issue. Have the same. Not opened a ticket at Microsoft Studio Team so far. The rest was working well for me. Use it quite often. Another issue with this VS extension seems to be only one project is transferred to RasPi - not a solution including multiple projects inside. Feel free to debug and let us participate, please - to get this great work even better! Thanks a lot.
Thanks Stan, This if for my second job so it may be weekend before I can dig but I will do.
From: StanDeMan @.> Sent: Monday, February 28, 2022 9:09 AM To: nforgeio/RaspberryDebugger @.> Cc: tlemmons @.>; Comment @.> Subject: Re: [nforgeio/RaspberryDebugger] Visual Studio 2022 support with .NET 6 installation (PR #49)
Is it an ASP.NET project? It's searching for an "Absolut path" - don't know why. Seems to be an VS debugging issue. Have the same. Not opened an ticket at Microsoft Studio Team so far. Another issue with this VS extrnsion seems to be only projects are transferred to RasPi - not solutions. Feel free to debug and let us participate, please. Thanks a lot.
— Reply to this email directly, view it on GitHub https://github.com/nforgeio/RaspberryDebugger/pull/49#issuecomment-1054413901 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABR2J7TIQ6QDXUEXK6N43NDU5OM2XANCNFSM5JLRJLDA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . You are receiving this because you commented. https://github.com/notifications/beacon/ABR2J7V23V26ZKKNWGOEKJDU5OM2XA5CNFSM5JLRJLDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOH3MRITI.gif Message ID: @.*** @.***> >
Hi guys. I'm so sorry I've neglected the debugger for the last year+. I've not had the energy.
What would you think about being promoted to be maintainers?
@StanDeMan do you need still help to publish the vsix? @jefflill sounds good. Are you suggest @StanDeMan as Maintainer?
@daim2k5 Nop. Thanks. Kann publish the VSIX.
Without fixing the mentioned (known) issues:
- ASP.NET -> Debugger wants to have an "Absolute Path" -> this is something to ask Microsoft to get it fixed. Pretty strange! ;)
- Only one project in a solution gets deployed to RasPi
I try to publish till end of this week. @all Feel free to get the known issues from above fixed, please. @jefflill Thanks a lot for your great work! Kindest Regards Stanislaus
@all I published the vsix but it is private in the market place. Does Mircosoft check it first - like Google does in their stores?
@StanDeMan which status do you see on https://marketplace.visualstudio.com/manage ? also please check the short video https://www.youtube.com/watch?v=4lXH4EmzMzU maybe you forgot to make it public after MS checked the extension?
@daim2k5 hm? Still "not public". Maybe I need to get a publisher, registering a DNS - what i don't have? I'll watch the youtube video. Thanks a lot.
@all Now it's public. Missed the free dots and the menu in there - making it public. ;) https://marketplace.visualstudio.com/items?itemName=GingerMintSoft-OpenSource.RaspberryDebugger
@daim2k5 Thanks for the video.
ASP.NET is still an issue - telling the debugger an "Absolue Path" is needed. So feel free to fix this if someone is able to, please. If not I'll open an issus at MS VS team to get this (ASP.NET 6?) bug closed. Let us/me know. Thanks again.
Kindest regards - Stanislaus
@ALL Now it's public. Missed the free dots and the menu in there - making it public. ;) https://marketplace.visualstudio.com/items?itemName=GingerMintSoft-OpenSource.RaspberryDebugger
thanks, works so far in 17.2 Preview 1.0 with console app with .net 6 and RP4 .
But if a csproj contains more at least 2 targetframeworks, the app always runs on the local windows with. So it would be nice to port my PR to VS2022
@ [MagicAndre1981] Thanks a lot for your feedback. Can you do the PR against my repo, please? I'll do the port asap. @ all ASP.NET debugging is still not working because of ASP.NET 6 wants to have an "absolute path". This is so strange! :( If someone is able to fix this send the PR too please.
@ [MagicAndre1981] Thanks a lot for your feedback. Can you do the PR against my repo, please? I'll do the port asap.
Ok, I created a PR, but I can't test my PR, because the entry Raspberry Debug Settings
is missing in the 2022 version and I have no idea to debug this.
@ MagicAndre1981 Thanks for the PR. Let me see. For the moment I only support .NET 6 - as mentioned for upload. So I have to do more work here... Debugging is really simple. Open the VSIX project and start it as usual with F5 -> the VSIX gets startet inside a Visual Studio Instance. Now you have two instances running - one hosting the VSIX and the Studio with the opened VSIX Code for debugging. With a powerfull computer debugging should go smooth.
yes, this is clear, but I have no idea where to find the code that shows the entry Raspberry Debug Settings and why it doesn't show up.
Okay. Sorry. For me it is the first VSIX I came into contact with. Never did this before. Let me see what happens. But give me some time, please. I'm doing this in my spare time. Thanks a lot.
ok, IsActiveProjectRaspberryCompatible returns false for csproj with multiple TargetFrameworks in your version and true for original extension in VS2019. This is why the entry is removed from menu.
@MagicAndre1981 Thanks a lot. I'll take the PR and check this. If everything goes well I'll create and push a new VSiX. Thanks again.
ok, the check for IsStandalone looks to be the cause for returning false. Adding PackageHelper.SdkGoodCatalog.Items
to watch window shows only .net 6 has IsStandalone set to true. But where does this come from?
ok, this IsStandalone is indeed wrong. The 100, 200, 300 are feature levels and no indication for standalone or VS bundled SDK version. 100 is the first SDK shipped with VS2022 17.0, 200 is shipped/compatible with VS2022 17.1. if you don't use Visual Studio at all, always pick the highest version to get most features.
I need to test it more, but my original PR still works, I have csproj with 3 frameworks and my selected 6.0 can be debugged.
You also need to update the SDK/runtimes to lastest versions from March 2022 patchday.
there are more bugs. The TargetFrameworkMonikers
from project system in CopyFrom method only returns the first targetframework, so <TargetFrameworks>netcoreapp3.1;net48</TargetFrameworks>
would treat the project as compatible.
@StanDeMan
I am using Blazor Wasm and I was also getting 'The path must be absolute' Exception if there is no
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
in sever csproj but with it it works just fine.
Adding my Server and Client csproj config - maybe it helps.
server csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<PublishTrimmed>false</PublishTrimmed>
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
</PropertyGroup>
Blazor csproj:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly" TreatAsLocalProperty="SelfContained">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
<PublishTrimmed>true</PublishTrimmed>
<SelfContained>true</SelfContained>
</PropertyGroup>
@StanDeMan
I am using Blazor Wasm and I was also getting 'The path must be absolute' Exception if there is no
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
in sever csproj but with it it works just fine.Adding my Server and Client csproj config - maybe it helps.
@Reveon
Thanks a lot for this hint. I get exactly the same error if I try to debug ASP.NET projects with wwwroot path - without wwwroot everything is working well. Hopefully I'll have a few free minutes this weekend to take MagicAndre1981's changes and test this hint. It would be nice if a new version can be built and made available in NuGet. I'll see what can be done. Thanks a lot for the support.
Kindest regards StanDeMan
@Reveon That's it. Thanks a lot. Had to put this into my project file property group:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> ... <RuntimeIdentifier>linux-arm</RuntimeIdentifier> </PropertyGroup>
Asp.NET debugging is working now! :) Nothing to do with the debugger! Cheers! StanDeMan
Sorry I have been away and swamped. Just getting back to this. I have downloaded the latest built and trying to debug. When I create a new connection to my raspberry pi 4, it tries to connect and never returns. I have traced it to connection.cs -> connectAsync line 91. I have tried changing the timespan to a few seconds and putting a try catch around it but it still never returns. Any ideas on tracing farther in or why this would be the case? @StanDeMan you said it needed an "Absolute path" but I am not seeing anything about that.
I have downloaded the neon projects and started tracing through. Looks like the LinuxSSHProxy system is trying to verify a file exists ("/etc/neon-sshproxy-init") andlocking up on an upload of a cmd.sh file. @jefflill this is your original code. Do you know what might be happening here or why it is causing a hang?