5 ms·
I have good and bad experience as well. I do have a prototype project, and while it allowed to get going quickly, I found the remote debugging story useless, a
by fodkodrasz 3y ago
I have good and bad experience as well.
I do have a prototype project, and while it allowed to get going quickly, I found the remote debugging story useless, as Visual Studio 2022 SSH support is a steaming pile of garbage. (Doesn't use the windows systemwise ssh install, but some crappy library that only supports password auth, or some wonkny certificate format, and outdated ciphers, which is understandably disabled, wasted an hour and insecured the target machine, and gave up finally).
I used SQLite, and the System.Data.SQLite, because reasons (legacy). It is a bug ridden piece of work (on linux), with no sane way to contribute. Also it is useless on M1 Mac, as the author doesn't give a shit about compiling it for arm (or setting up a CI pipeline on github or gitlab for example, where it is supported).
Had plenty of problems with single file app bundle deployment, as much as it eased deployment initially, lots of libraries broke on it.
It has been working okay for us (in other former projects) generally well, but personally I am missing some things from the JVM, where VM tuning and monitoring and remote debugging are all a smoother ride in my experience.
Oh, and async broke the C# language (or rather the standard library) and killed the CLR interop with other languages, it was a big mistake to release it with these defaults. I really like F#, but async everything made it uselessly difficult in my opinion. But it has nothing to with .Net on Linux. It works, and is way better than the nodejs world, but I think more ideas should be copied from the JVM world to ease the Ops side, or they should be more clearly communicated.
- SideburnsOfDoom 3y agoA decent setup of logging and metrics from UAT and prod environments seems to me a superior alternative to remote debugging.
- fodkodrasz 3y agoBit snarky PTSD induced rant: Thanks for the unsolicited advice on the situation you have nigh no context on. A bit of context: I could put decent logging and metrics inside the buggy System.Data.SQLite library, to know why it fails to do its job in remote Linux machines... which would be quite and effort (Comparable to forking and fixing it, which might be the goal, but getting the info for the problem is rather an interactive problem. Even opening the database didn't work). Also Logging from inside libraries is... a bit divisive topic. At our shop logging and metrics are not always the best answers, when *developing*, they are mostly useful for *operating* a solution.
- 0xDEADFED5 3y agoi just recently switched from VS 2022 remote to VS Code, (windows->linux, C++) and it works very well. i'm not sure i have many reasons to keep VS 2022 around right now
- fodkodrasz 3y agoI'm eyeing with Rider, just have no capacity at the moment to evaluate it thoroughly.
- johnthreevolts 3y agoYear and half I'm using it. Bugs occurs from time to time but in comparison, VS 2022 now feels like big nope. And that in situation when VS 15/17/22 is provided by company and Rider I bought for my own money.
- pinkgolem 3y agoFor the remote debugging issue, I always used ssh portforwarding.. Is vs doing something else internally?