Very cool!
Very cool!
.NET 11 (NativeAOT) on Windows ARM32!!
Samples all run in the browser with WASM: elix22.github.io/Sokol.NET/
Found Sokol.NET - C# bindings for the Sokol crossplat gfx framework. If you haven't heard about Sokol, it's a C header-only library to build crossplat gfx/audio apps (games). Sokol.NET wraps it for C# (Win/Linux/Mac/Android/iOS/WASM). Tons of samples. Also native AOT: github.com/elix22/Sokol...
Congratulations!!!
Nice article on the state of native AOT with the release of .NET 10: code.soundaranbu.com/state-of-nat...
:(. Well at least they added back (an option) to see seconds to the taskbar clock flyout. Maybe proper small icons will come back next.
I really hope the Windows UX team will not go this far. Clearly they are mac users so everything is possible
Sorry but the off-color corner of the new Word icon looks like a compression artifact when taskbar is set to small (and sorry but small & never combine & show labels is the only correct taskbar configuration on Windows, this is not macOS).
How? Typescript to CIL to native? Go for it. You can also just use stock native AOT. The advantage of bflat is really just no friction crosscompilation.
Cosmos Gen3: The NativeAOT Era and the End of IL2CPU? valentin.bzh/posts/3 #dotnet #osdev #csharp
You'd need to debug the compiler. Either try to find the thing that first triggered it yourself or try reaching out to the email address listed at dotnet.microsoft.com/en-us/platfo.... Make sure you're using the latest version of the .NET Native package.
I recommend migrating to .NET 9, the UWP support is there now: learn.microsoft.com/en-us/window...
Usually this is some NuGet that targets NetStandard2.0 (so it can be consumed from .NET Native) but uses a very recent language version (NetStandard 2.0 only officially supports up to C# 7.4; things can be hacked to allow higher version but it's unsupported). E.g. github.com/StackExchang...
I'm glad you like them! I don't post on medium anymore so the latest things are at migeel.sk
I miss the early days of .NET
Ah, rookie mistake, this is how you get a very cursed notepad.exe: bsky.app/profile/mige...
If you don't want to retrain muscle memory and don't care for the new notepad: bsky.app/profile/mige...
After #flareon11 challenge 7, I got inspired to build tooling for #dotnet Native AOT reverse engineering.
As such, I built a #Ghidra Analyzer that can automatically recover most .NET types, methods and frozen objects (e.g., strings).
👉https://blog.washi.dev/posts/recovering-nativeaot-metadata/
A small template to write self-contained Win32 services in C# with NativeAOT: gist.github.com/jbevain/b295...
Ak bude mať Rusko spoločnú hranicu s Moldavskom tak tie mapy dlho aktuálne nebudú.
The default value for this property in the SDK is just wrong.
I've published the third part of my series of articles about writing a .NET garbage collector in C#. In this one, we add a helper method to inspect the objects in memory, learning about thread modes and the DAC.
minidump.net/writing-a-ne...
#dotnet
Looking forward to read more about your GC adventures!
10/ Then add a MyGC_ prefix to all your UnmanagedCallersOnly methods and they should get exported without the prefix.
9/ You can write an MSBuild task that takes $(ExportsFile), reads all lines in it, and Regex.Replace(line, @"MyGC_(\w+)", "$1=MyGC_$1") and write back to $(ExportsFile). Have the MSBuild target run BeforeTargets=LinkNative.
8/ We want this instead:
EXPORTS
GC_Initialize=MyGC_GC_Initialize
7/ By default the DEF file that native AOT compiler creates for UnmanagedCallersOnly("MyGC_GC_Initialize") looks like this:
EXPORTS
MyGC_GC_Initialize
6/ That's possible solution one. Possible solution two involves munging the .def file that native AOT compiler creates so that we can use "If the name that you export differs from the name in the DLL, specify the export's name" from the EXPORTS docs.
5/ Like this:
EXPORTS
GC_Initialize=MyNativeAotDll.MyGC_Initialize
Put this in a shim.def file and run link.exe like this: `link /dll /def:shim.def /out:shim.dll /noentry`. This produces a DLL with GC_Initialize export that is forwarded to MyGC_Initialize in MyNativeAotDll.