We are using Microsoft Visual Studio Code on MacOS. There is a file "launch.json" which controls the behavior of a little clicky green triangle. The top of launch.json says "version": "0.2.0".
This documentation file:
code.visualstudio.com/docs/csh…
Claims when "type" is "dotnet", you may use a "cwd" key to specify the CWD of the run executable. However, for us, this does not work. Visual Studio displays an error on that part of the JSON, and running it, the "cwd" directory seems to be ignored.
Why?
✧✦Catherine✦✧
in reply to mcc • • •anne.💫
in reply to mcc • • •mcc
in reply to anne.💫 • • •mcc
in reply to mcc • • •One thing I hate about IDEs is to some extent they're like "hey, we've invented a thing that's like programming, except the documentation is really vague" mastodon.social/@whitequark/11…
✧✦Catherine✦✧
2025-06-23 20:50:11
mcc
in reply to mcc • • •mcc
in reply to mcc • • •Felix S K II (pnkfelix)
in reply to mcc • • •mcc
in reply to Felix S K II (pnkfelix) • • •Graham Sutherland / Polynomial
in reply to mcc • • •mcc
in reply to Graham Sutherland / Polynomial • • •Graham Sutherland / Polynomial
in reply to mcc • • •kinda both.
CoreCLR is the .NET Core Common Language Runtime, which is the runtime used for applications that target .NET Core (the thing we got after .NET Framework when they were retooling the whole language and runtime)
dotnet is the umbrella term given to .NET 5 onwards, so the "dotnet runtime" would be the CLR for .NET 5 and onwards (yes I know this is horrible naming).
in this case "coreclr" and "dotnet" in that file are referring to .NET Core and .NET 5+ project types respectively
Graham Sutherland / Polynomial
in reply to Graham Sutherland / Polynomial • • •so if you're explicitly targeting the (older) .NET Core stuff, then you want "coreclr". if you're targeting modern .NET (5+) then you want "dotnet".
they use slightly different project formats hence the disparity in how the launch config works. it'd be nice if VS Code didn't make this such a mess but sadly it's a big headache.
PJB
in reply to Graham Sutherland / Polynomial • • •@gsuberland Wait what? .NET Core and .NET 5+ don't use different project formats though? It's both still SDK-style .csproj, no?
Also I don't think your description of CoreCLR vs .NET is quite accurate: CoreCLR is the name of the actual runtime itself that ".NET" uses, but it's not the only one: some platforms still use the Mono runtime (which yes, Microsoft still develops themselves too). CoreCLR is kind of an "implementation detail" term so it's weird that VSCode ever used it.
mcc
in reply to PJB • • •PJB
in reply to mcc • • •@gsuberland
> they use slightly different project formats hence the disparity in how the launch config works.
Did I misread this? That says the project formats are different and *that's* why the launch config is different.
mcc
in reply to PJB • • •Graham Sutherland / Polynomial
in reply to mcc • • •@PJB sorry I'm getting pulled in 8 different directions here and it's gotten a bit mentally overwhelming to answer everyone
I'll come back to this later if you haven't gotten it fixed
mcc
in reply to Graham Sutherland / Polynomial • • •@gsuberland @PJB
- It isn't fixed
- I have however worked around it by ignoring PWD entirely and constructing paths relative to the EXE, which seems to be technically adequate for current use
- My github bug appears to have passed the triage stage so perhaps that is the best place for me to receive support
thanks
Graham Sutherland / Polynomial
in reply to Graham Sutherland / Polynomial • • •mcc
in reply to Graham Sutherland / Polynomial • • •Graham Sutherland / Polynomial
in reply to mcc • • •mcc
in reply to Graham Sutherland / Polynomial • • •Key "cwd" is not allowed in launch.json when type is "dotnet", but documentation suggests it should be
mcclure (GitHub)Jason Bowen 🇺🇦
in reply to mcc • • •mcc
in reply to Jason Bowen 🇺🇦 • • •Graham Sutherland / Polynomial
in reply to mcc • • •mcc
in reply to Graham Sutherland / Polynomial • • •