C
C#6mo ago
evrsen

✅ Confused about C# as a beginner

This language and its associated ecosystem is confusing af coming from Python. 1. If C# is the language syntax, is .NET the platform providing a standard runtime implementation for said language (similar to PVM & JVM)? Or a compiler? Or is it both? If not, what's the name of the software that provides a standard runtime for C# applications? 2. For some reason, apparently there is also a framework called .NET... so what's the difference between the framework .NET and the platform .NET? 4. ASP.NET, if i understood correctly this is a web framework like any other framework such as Django, Ruby On Rails, Laravel, Spring Boot, etc.. the confusion is where Blazor comes in, because apparently you gotta use both ASP.NET and Blazor, but both are described as individual web frameworks? 🤔 5. Core, god, every tool i mentioned above apparently has a "Core" version, e.g .NET Core, ASP.NET Core, you name it... What does "core" imply and why are there two versions of things?
348 Replies
Kouhai /人◕ ‿‿ ◕人\
1. .NET is indeed equivalent to JVM 2. .Net framework is the old windows only implementation, then came a cross platform implementation named .Net Core it was then rebranded .Net 3. Blazor basically allows you to write C# for the frontend 4. Core was added to distinquish between the old and new implementation
Jimmacle
Jimmacle6mo ago
you have discovered how good microsoft is at naming things
tiny moon
tiny moon6mo ago
To flesh out #1 a bit, C# <-> Java, Roslyn <-> javac, .NET Runtime <-> JVM.
evrsen
evrsen6mo ago
ASP.NET is the backend framework, and Blazor is a frontend framework? how, wasm?
Jimmacle
Jimmacle6mo ago
both wasm and a server side option that syncs the page contents over a websocket
evrsen
evrsen6mo ago
is .NET the actual .NET Runtime, or is .NET an SDK that includes the runtime?
Jimmacle
Jimmacle6mo ago
and now some actual SSR stuff too afaik
tiny moon
tiny moon6mo ago
Potentially both There's SDKs and runtimes (they're just called the .NET SDK and the .NET runtime)
evrsen
evrsen6mo ago
oh my god
tiny moon
tiny moon6mo ago
No different to the JRE and JDK
Jimmacle
Jimmacle6mo ago
the runtime is technically the CLR
evrsen
evrsen6mo ago
im no java dev
tiny moon
tiny moon6mo ago
If relating to Java is useful for you
evrsen
evrsen6mo ago
if you can speak in python terms, maybe rust terms, i might understand
Jimmacle
Jimmacle6mo ago
the only difference between the SDK and runtime (installer wise) is the SDK has the extra tools you need to write software and not just run it
tiny moon
tiny moon6mo ago
One of those lacks a runtime and the other lacks a compiler so it's a bit ehh...
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
Roslyn (using the .NET SDK) compiles C# to IL. IL is run by the CLR (aka the .NET runtime).
evrsen
evrsen6mo ago
okay, me who have never written a line of C# code to this date, how do i make a hello world?
No description
evrsen
evrsen6mo ago
yes a bit
Jimmacle
Jimmacle6mo ago
.NET Core console application ignore anything that says .NET Framework, those are old legacy versions
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
so ill look at .NET / .NET Core?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
If you're new to the ecosystem, ignore anything called .NET Framework and anything called .NET Core. They're both old at this point. You're looking at .NET 8.
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
don't we have a tag to explain microsoft's grand naming scheme
evrsen
evrsen6mo ago
so i dont use the .NET / .NET Core tab on Rider either?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
Well it says .NET so yes, you will use it.
Jimmacle
Jimmacle6mo ago
so what happened was basically old .net = .net framework new .net = .net core net framework is not getting new versions so now anything recent is simply .net because the "core" qualifier is redundant
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
.NET Framework is like Python 2, don't use it. .NET Core and .NET up to .NET 7 are like Python 3.x. .NET 8 is Python 3.12.
Jimmacle
Jimmacle6mo ago
$.net
MODiX
MODiX6mo ago
.NET is a marketing term referring to a family of products, consisting of two different lineages. The .NET Framework ("netfx") lineage was introduced in 2002. This lineage runs only on Windows. Its most recent release is .NET Framework 4.8.1. While this lineage is still supported, very few new features are being introduced into it. Devs are encouraged not to target .NET Framework for new app development. The .NET Core ("netcore") lineage was introduced in 2016. This is a modern development platform which runs across many different OSes. The .NET Core 3.1 product was the last version in this lineage to bear the ".NET Core" name; and starting with the next release (.NET 5), the product was renamed to simply ".NET". The most recent release in this lineage is .NET 7. This lineage is where new features are actively being developed. Devs are encouraged to target .NET for new app development. Nowadays, the ".NET" moniker usually refers to recent versions of the netcore lineage. When you create a new app targeting .NET (not .NET Framework!), you're targeting this newer, modern, cross-platform API surface and runtime.
evrsen
evrsen6mo ago
why is nothing named .NET 8 in Rider?
tiny moon
tiny moon6mo ago
Because it'll be just ".NET" - 8 is just the version
evrsen
evrsen6mo ago
No description
evrsen
evrsen6mo ago
is net8.0 a compiler?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
No, it's a version of .NET. The compiler is called roslyn.
evrsen
evrsen6mo ago
aha the standard compiler is called roslyn, i see
tiny moon
tiny moon6mo ago
You'll basically never interact directly with roslyn.
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
The SDK has build tools that'll do it for you. And Rider uses the SDK.
evrsen
evrsen6mo ago
Roslyn -> compiler like javac? .NET -> ? (still dont get this part, is it an SDK, a framework, a runtime..)
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
.NET is a marketing term referring to a family of products, consisting of two different lineages.
tiny moon
tiny moon6mo ago
It's all of those things generally referred to together.
evrsen
evrsen6mo ago
ok so its an SDK
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
just read the thing i pasted .NET is an umbrella term
evrsen
evrsen6mo ago
i did read it, the definition meets an SDK no? or am i confusing the terms
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
i think you're confusing it
tiny moon
tiny moon6mo ago
When people say ".NET", as a developer, they're generally talking about the combination of the SDK and the runtime. Usually people will specify if they mean otherwise.
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
i'm going to assume you know what SDK means, and that you don't need it to run applications built using one
evrsen
evrsen6mo ago
is Roslyn is the compiler, what is the runtime called?
Jimmacle
Jimmacle6mo ago
....NET
tiny moon
tiny moon6mo ago
.NET runtime
Jimmacle
Jimmacle6mo ago
or the CLR if you want to be specific
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
(common language runtime)
evrsen
evrsen6mo ago
yk what, Java do actually look interesting
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
Alright, you'll ask the same questions and receive the same answers about Java.
evrsen
evrsen6mo ago
/s
ZacharyPatten
ZacharyPatten6mo ago
Java sucks dick...
tiny moon
tiny moon6mo ago
Java has all the same moving parts
evrsen
evrsen6mo ago
ok so when i choose console app in Rider, i assume it generates some boilerplate code for me, but apart from written code does it configure to use specific tools from the .NET framework/runtime/sdk/whatever it is?
tiny moon
tiny moon6mo ago
Yes. I mean, just create the project and you'll see..
evrsen
evrsen6mo ago
like what? if i wanted to create the same console app that rider generates for me, but manually in vscode, what would i configure?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
there's not much configuration involved, you can see it all by opening the .csproj file in a text editor you'd run dotnet new console in a terminal
tiny moon
tiny moon6mo ago
You'd use the dotnet CLI tool and call dotnet new console
Jimmacle
Jimmacle6mo ago
to generate a project from that template
evrsen
evrsen6mo ago
oh didnt know about the cli tool, thats interesting
tiny moon
tiny moon6mo ago
(which is essentially all that the Rider project creation stuff is doing)
evrsen
evrsen6mo ago
is dotnet like node or npm?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
you can do anything you need to do with the CLI
tiny moon
tiny moon6mo ago
Yeah, both node and npm's functionality is included in the one tool
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
is it safe to say that .NET is what CPython is for Python but for C#?
tiny moon
tiny moon6mo ago
no
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
if by that you mean it's the standard implementation of everything, sure
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
how did dotnet become a standard with this mess
Jimmacle
Jimmacle6mo ago
it's not that complicated
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
what's that got to do with the dotnet tool running all of the equivalents..?
evrsen
evrsen6mo ago
it shouldnt have to be, leading example -> rust
tiny moon
tiny moon6mo ago
You don't call rustc directly You use Cargo Just the same as you don't call roslyn directly, you use the dotnet tool
Jimmacle
Jimmacle6mo ago
of all the languages to reference when talking about confusing names i wouldn't choose rust LULW
evrsen
evrsen6mo ago
cargo is a well defined tool though
tiny moon
tiny moon6mo ago
So is the dotnet CLI
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
yet dotnet is an umbrella term for everything in the dotnet ecosystem
Jimmacle
Jimmacle6mo ago
half the rust packages i see have cutesy names that don't tell you anything about what they do
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
Right, so how does that mean dotnet doesn't encompass the behaviour of both node and npm for .NET?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
tiny moon
tiny moon6mo ago
???
evrsen
evrsen6mo ago
rustup -> toolchain manager rustc -> rust compiler cargo -> build/package manager dotnet -> everything
Kouhai /人◕ ‿‿ ◕人\
But you don't usually call rustc yourself
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
that's not the point
tiny moon
tiny moon6mo ago
Absolutely no idea what point you're trying to prove
Kouhai /人◕ ‿‿ ◕人\
The C# compiler is different from dotnet cli
Jimmacle
Jimmacle6mo ago
you're really getting hung up on a name for no good reason
Kouhai /人◕ ‿‿ ◕人\
You just never use it directly
tiny moon
tiny moon6mo ago
There's nothing stopping you from calling Roslyn just as there's nothing stopping you from calling rustc. It's just much more common to use the build tools (dotnet and cargo).
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
roslyn -> compiler nuget -> package manager dotnet -> general CLI entry point
evrsen
evrsen6mo ago
again you're right, but that's not the point im trying to make here. cargo is well defined, it's a build and package manager. dotnet is more than what cargo is, and im not only talking about the CLI, but .NET
Jimmacle
Jimmacle6mo ago
msbuild -> build system
tiny moon
tiny moon6mo ago
OK? Seems like you're highlighting that as a distinction but for what reason?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
this is getting boring, it's just a name of a command
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
you're thinking about it too hard
tiny moon
tiny moon6mo ago
The dotnet CLI tool is just as "well defined" as rustup and cargo, it just has a larger scope. It's really a distinction without a purpose.
Jimmacle
Jimmacle6mo ago
it's no worse than docker, for example
tiny moon
tiny moon6mo ago
You'd be better off just getting on with using it instead of worrying about whether you'd rather live in a world where you had two applications instead of one 🙂
evrsen
evrsen6mo ago
.NET Framework (legacy) .NET Core (legacy) .NET (modern) .NET Runtime (uses Roslyn to compile?) .NET SDK (what does this include?)
333fred
333fred6mo ago
Note that there's no real equivalent to rustup in the .net world
tiny moon
tiny moon6mo ago
No, the runtime does not compile anything.
Jimmacle
Jimmacle6mo ago
the runtime runs things the compiler compiles things
evrsen
evrsen6mo ago
so it's not a JIT?
Jimmacle
Jimmacle6mo ago
it is a JIT
evrsen
evrsen6mo ago
does it not compile just in time, in the runtime?
333fred
333fred6mo ago
Roslyn == javac
Jimmacle
Jimmacle6mo ago
c# -> compiled to CIL -> JIT to assembly
tiny moon
tiny moon6mo ago
Ok yes it JITs but it's a runtime. Not a compiler.
333fred
333fred6mo ago
The JIT compiler (which you never need to interact with directly or care about) is called RyuJIT, if you really care
tiny moon
tiny moon6mo ago
This is just wordplay at this point
333fred
333fred6mo ago
Just like Java has Hotspot
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
the names don't matter for 90% of the work you do
evrsen
evrsen6mo ago
probably not but its good to be familiar with the terms regardless
tiny moon
tiny moon6mo ago
You're not consistent in your own definitions so why care? Just use the bloody thing x)
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
if i dont care then ill never be consistent with my definitions? im trying to understand the ecosystem
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Anu6is
Anu6is6mo ago
you can learn that over time, not particularly something a beginner digs into
Jimmacle
Jimmacle6mo ago
it's easier to be consistent after you've worked with it to understand the different pieces
333fred
333fred6mo ago
What are you still confused about @evrsen ?
tiny moon
tiny moon6mo ago
I mean at this point the basics have been explained thrice over and the goalposts are being moved I'd suggest just getting started and seeing where you get to Best of luck and enjoy 🙂
evrsen
evrsen6mo ago
thanks i'm trying to build a simple mental model of how things work in C# apps rather than keeping it all magic for learning it later, and i'm trying to do so by using previous knowledge primarily from python, but also understanding from node and rust. i know what a runtime is, i know what a compiler is, i know what a package manager is, but both java and c# is a bit confusing because they seem to have more moving parts than the languages i already know. python -> programming language syntax cpython -> standard implementation of python the cpython implementation contains the stdlib, runtime, etc.. pip -> package manager for python rust -> programming language syntax rustc -> standard implementation of rust the rustc implementation also contians the stdlib cargo -> package manager for rust this is straight forward and is the mental model i have in my mind when someone talks about python or rust respectively in the case of C#, it's a bit more complicated for me. c# -> programming language syntax ? -> standard implementation of c# ? -> package manager this does not seem to cut it for C# because there are more moving parts, especially .NET and all the .NET variants like .NET SDK .NET RUNTIME .NET Core etc..
333fred
333fred6mo ago
Yeah, you're way overcomplicating this For .NET, you can pretty much just slap the name of the component on the end, and that's the thing you're talking about .NET Standard Library - the standard library impl of .NET .NET Runtime - the standard runtime impl of .NET
Jimmacle
Jimmacle6mo ago
(also, C# is not the only .NET language)
333fred
333fred6mo ago
nuget - the package manager of .NET dotnet - the general CLI interface of .NET that allows you to interact with the various components in a single, unified syntax so you don't have to think about the many things that go into it That is not helping
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
There's a time for trolling. This isn't it 🙂
evrsen
evrsen6mo ago
i see in Rider, i created a new Console app in .NET Core with net8.0 and i cannot access dotnet cli in the terminal nor nuget
333fred
333fred6mo ago
What system are you on?
evrsen
evrsen6mo ago
macOS
333fred
333fred6mo ago
Have you restarted your terminal since you installed .NET? I'm not sure how dotnet normally gets put on the path in Mac
evrsen
evrsen6mo ago
yes i started this project after rider installed .NET for me
333fred
333fred6mo ago
But there's no magic in general here: you need to have the executable on your path
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
it runs the program fine
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
No description
evrsen
evrsen6mo ago
No description
333fred
333fred6mo ago
Well, you're not going to find nuget on the path
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
As I said, there's a single CLI interface
evrsen
evrsen6mo ago
oh right dotnet instead of nuget
333fred
333fred6mo ago
However, as to dotnet, I don't know how rider installed .NET It may not have put it on your path, or you may need to log out/back in to get variables to refresh and apply to your session
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Rider is just using absolute paths to wherever it installed it, so it doesn't care whether it's on the path or not
evrsen
evrsen6mo ago
do y'all know how i can manage .NET installations on Rider, ill see if i can reinstall it
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
No, I don't use Rider
evrsen
evrsen6mo ago
what do you use?
333fred
333fred6mo ago
vscode
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
ill do that i just want to figure out how i can uninstall the .net installation from rider
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
no there is no dotnet in path
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
/usr/local/share doesn't exist on my system lol
evrsen
evrsen6mo ago
No description
333fred
333fred6mo ago
O.o That seems... weird
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Fascinating OSX is like looking through a funhouse mirror
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
It's not
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
are packages/dependencies installed per project or globally? in rust all packages installed through cargo are local to the project in Cargo.lock
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
"installed" is a strong word
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
There's a global nuget cache in ~/.nuget, and that's where most projects will reference from by default, but you can change it per-project if you want
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
so its like python?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
lol
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Similar (if my understanding is right), but unlike in python, you're not basically required to use a venv if you want to actually be productive
evrsen
evrsen6mo ago
i see
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
@🦤🦤🦤
No description
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i have to change something in order to make dotnet accessible from the cli but idk what to change
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
whats a "solution"? pycharm doesnt use the term "solution" for projects
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
ah okay
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i see thanks for explaining
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
this is so weird
No description
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
evrsen@Evrens-Air ~ % .dotnet/dotnet --info
.NET SDK:
Version: 8.0.100
Commit: 57efcf1350
Workload version: 8.0.100-manifests.6c33ef20

Runtime Environment:
OS Name: Mac OS X
OS Version: 14.1
OS Platform: Darwin
RID: osx-arm64
Base Path: /Users/evrsen/.dotnet/sdk/8.0.100/

.NET workloads installed:
Workload version: 8.0.100-manifests.6c33ef20
There are no installed workloads to display.

Host:
Version: 8.0.0
Architecture: arm64
Commit: 5535e31a71

.NET SDKs installed:
8.0.100 [/Users/evrsen/.dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.0 [/Users/evrsen/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.0 [/Users/evrsen/.dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download
evrsen@Evrens-Air ~ %
evrsen@Evrens-Air ~ % .dotnet/dotnet --info
.NET SDK:
Version: 8.0.100
Commit: 57efcf1350
Workload version: 8.0.100-manifests.6c33ef20

Runtime Environment:
OS Name: Mac OS X
OS Version: 14.1
OS Platform: Darwin
RID: osx-arm64
Base Path: /Users/evrsen/.dotnet/sdk/8.0.100/

.NET workloads installed:
Workload version: 8.0.100-manifests.6c33ef20
There are no installed workloads to display.

Host:
Version: 8.0.0
Architecture: arm64
Commit: 5535e31a71

.NET SDKs installed:
8.0.100 [/Users/evrsen/.dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.0 [/Users/evrsen/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.0 [/Users/evrsen/.dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download
evrsen@Evrens-Air ~ %
that dotnet was not added to path yet the executable exists
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
I assume Rider was trying to be helpful and not install .NET globally But you probably don't want it to be so helpful
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i have not gone to that point yet, trying to understand how rider manages it's own .net installation and see if i can work around it, if not ill see if i can completely uninstall it and then install from dot.net
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i'd expect it to add dotnet to the shell spawned in the project
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
I can't answer that 😄
Jimmacle
Jimmacle6mo ago
rider's terminal isn't special, it just opens to the project root
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
it doesn't add any environment
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
User/evrsen/.dotnet seems quite global to me, or does dotnet work different to all other macos apps?
333fred
333fred6mo ago
It doesn't work different to any other app Which is why that is not global, nor is it automatically added to your path Global means "for all users"
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
That is clearly not for all users 🙂
evrsen
evrsen6mo ago
i get what you're saying, i'm probably gonna end up doing that, i'm just playing around with the current situation
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
why would i want anything to be for all users? lol, i mean, how is that relevant in the context of x being added to path
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
It's not. These are separate things
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
The way that most linuxes work (not sure if osx follows this same principle) is that it will drop an executable in a well-known directory with all your other exectuables IE. /usr/bin, or some other well-known bin location Those well-known locations are always on your path ~/.dotnet is not a well-known location to your OS Nothing is going to automatically add that to your path
evrsen
evrsen6mo ago
Rider Support | JetBrains
Rider unable to detect .Net Core but dotnet command shows correct info
Rider (2022.2.2  Build #RD-222.3962.23, built on August 20, 2022) is unable to locate my .Net Core install, even though dotnet --info shows that it exists and that my Rider settings should be using...
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
That is kubuntu, and they installed the official packages That dropped a dotnet in /usr/bin, which is likely a symlink to /usr/lib/dotnet/dotnet
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Read the linked issue 😛 It isn't share
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
https://youtrack.jetbrains.com/issue/RIDER-91040/Dotnet-not-found-in-Rider-on-MacOS can this be something looks similar, but i dont understand what the solution was
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Ok, let's take a step back for a second When we say "it's not on the path", do you understand what we're saying?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
read further down yes
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Ok, then what are you not understanding about the solution?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i have the executable, it's just not in path, i'm trying to fiddle around and see if i can make rider recognise it and add it to path for me, rather than manually editing path variables
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
yes?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
No description
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
how can i completely uninstall the dotnet rider installed
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Delete the folder
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
I would
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
On Mac, you must remove the SDKs and runtimes separately, by removing the versioned directories. Removing them deletes the SDK and runtime from disk. So yes, just remove the directory.
i removed the directory
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
No description
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i just wanted to know if i could make jetbrains install work properly
333fred
333fred6mo ago
You could add it to your path
evrsen
evrsen6mo ago
what's the difference between Console and Class dotnet project?
333fred
333fred6mo ago
A classlib is a library A library of classes It's not an executable
matkoch
matkoch6mo ago
was it at the time?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
did you get it figured out? i just saw the notifications
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
if you want to uninstall, then well, that’s the location i don’t think rider installs in a particular different location
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
from what i read here, there was uncertainty where rider installs the sdk
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
yea, default location 🙂
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
for running rider itself, there’s a bundled runtime
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
sounds sus
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
Well, it installs to ~/.dotnet Which is where the dotnet-install.sh script will put things, but that's not really "official" or anything
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
333fred
333fred6mo ago
And it doesn't put it on the path, which I think was the real issue here
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
i’ll check
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
was it installed from rider arm? or rider intel?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
i mean thats a trouble you go through most apps when ur on apple silicon
MODiX
MODiX6mo ago
TeBeCo
Quoted by
From TeBeCo
React with ❌ to remove this embed.
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
many installers defaults to intel version for macos, i've had to manually select apple silicon many times
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
when I click download on the website, it downloads aarch64
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
discord, python and vscode have universal macos installers
matkoch
matkoch6mo ago
@🦤🦤🦤 i also get arm from download
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
this is what i get
No description
matkoch
matkoch6mo ago
No description
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
arc... should I try another one?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
we solved the problem by uninstalling jetbrains dotnet installation and installing the official pkg, the problem was that rider didnt add dotnet to path and i was looking around to see if rider allowed an "Add to PATH" option but couldnt find anything, otherwise i'd like to stick with jetbrains installation to keep everything local.
matkoch
matkoch6mo ago
arc (chrome)
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
sure
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
that seems more like it
No description
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
evrsen
evrsen6mo ago
how can i create a normal .net project in rider? no Console no Class Library etc.. just a regular hello world
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
@🦤🦤🦤 await navigator.userAgentData.getHighEntropyValues(['architecture'])
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
that seems like a "solid" way to determine architecture but it fails on safari
evrsen
evrsen6mo ago
what if i want to make a rest api of that app?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
i think we are (i am) derailing the thread 🙂 i will forward that information
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
MODiX
MODiX6mo ago
TeBeCo
Embed Type
Article
Quoted by
<@689473681302224947> from #newsfeed (click here)
From TeBeCo
React with ❌ to remove this embed.
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
From what I see, there's no reliable way in Safari to know whether M1 or not... That's kinda shocking, considering it's their product 🙂
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
yea well... user agent too Yea, I'm also considering that... and possibly also a confirmation dialog on install "You are on ARM but installing INTEL" ... something like that... latest in the installer it should be possibly to check reliably
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
yea, why safari 🙂 Arc is for the cool kids
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
not for me anymore
evrsen
evrsen6mo ago
is vscode common for c# devs in the industry? or is an IDE like vs or rider used more (similar to java's case where intellij/eclipse is the industry standard)
333fred
333fred6mo ago
It's becoming more common, now that devkit is officially out Though many will still prefer the more fully-featured experience of an IDE
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
matkoch
matkoch6mo ago
gimme a few minutes
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
me
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Jimmacle
Jimmacle6mo ago
i still want new socks