4 ms·
This right here is peak Microsoft: set DOTNET_GCName=clrgc.dll set COMPlus_GCPath=ManagedDotnetGC.dll Good luck understanding this when you come back 2 mo
by amne 2y ago
This right here is peak Microsoft:
set DOTNET_GCName=clrgc.dll
set COMPlus_GCPath=ManagedDotnetGC.dll
Good luck understanding this when you come back 2 months later.
- CharlieDigital 2y agoJust write a batch file? I don't see the issue
- mystified5016 2y agoExplain what these lines do and why they're necessary, then you'll understand the problem
- CharlieDigital 2y agoThey are environment variables specifying DLLs to use.
- MortyWaves 2y agoIt was my understanding the ridiculous and historic COMPlus name had been replaced with just DOTNET several years ago.
- pjc50 2y agoDeeper horror: > I got closer to the goal when I realized an interesting quirk: .NET supports environment variables prefixed by either DOTNET_ or COMPlus_, whereas NativeAOT only supports DOTNET_. So if we set COMPlus_GCName=ManagedDotnetGC.dll, only the .NET runtime will pick it up, and the NativeAOT runtime will ignore it.
- pjmlp 2y agoIt is rather hard to name environment variables as COM+.
- MortyWaves 2y agoSo why wasn’t it named DOTNET? My point is that the COMPlus name was about 10 years out of date after Core.
- pjmlp 2y agoMost likely because it predates it, COM+ Runtime is on the genesis of .NET, originally designed with J++ in mind, and backwards compatibility. For example, https://learn.microsoft.com/en-us/archive/msdn-magazine/2001/october/com-integration-how-net-enterprise-services-can-help-you-build-distributed-applications https://learn.microsoft.com/en-us/archive/msdn-magazine/2001...
- pjmlp 2y agoEvery mature programming language ecosystem has quirks that only those that were around since the early days get why they are there.