Sign in

Jan Jones

@janjones.me
82 followers 24 following 21 posts

C# (Roslyn) compiler dev at Microsoft github.com/jjonescz

PostsRepliesMedia
Jan Jones @janjones.me · 28/02/2026
Bound trees (internal Roslyn representation of executable code) can now be displayed on .NET Lab. This includes ref safety escape scopes. Makes investigation of compiler bugs easier. #dotnet #csharp #roslyn #dotnetlab
2122
Jan Jones @janjones.me · 23/12/2025
Yes, that should be possible with the desktop framework I'm currently using (Photino). Good to know there is demand for that, thanks, I will try looking into that soon.
000
Jan Jones @janjones.me · 23/12/2025
Proper links can't be created in the official bluesky app afaik (but it can render them 🤷‍♂️), so I'm using @deck.blue for that.
000
Jan Jones @janjones.me · 22/12/2025
.NET Lab can now display disassembled machine code. It's taken directly from JIT, hence only supported on desktop for now. #dotnet #csharp #roslyn #asm #dotnetlab
Screenshot of .NET Lab with disassembled machine code
1104
Jan Jones @janjones.me · 17/12/2025
Tired of waiting for the WebAssembly version of .NET Lab to load? There is now .NET Lab Desktop for Windows which is much faster thanks to running on full .NET: apps.microsoft.com/detail/9PCPM... ⚡
0102
Jan Jones @janjones.me · 16/12/2025
Yes, pinning an exact version is what I meant. Although that wouldn't affect design time (IntelliSense), only builds.
110
Jan Jones @janjones.me · 16/12/2025
You can leave it unset (or set to empty). That makes it automatically determined from the TargetFramework. If you set it to latest/preview (recommended eg if you multitarget), you should also pin the SDK version in global.json to ensure consistent value regardless of the actual SDK used to build.
200
Reposted by Jan Jones
nohwnd @jakubjares.com · 08/12/2025
Getting ready for our last .NET meetup Prague of the year. This time with a holiday vibe! #dotnet aka.ms/DotnetMeetup...
021
Jan Jones @janjones.me · 14/11/2025
Great feature I've got a chance to work on in .NET 10
151
Jan Jones @janjones.me · 13/11/2025
I believe debugging picks up arguments that you specify in launchSettings.json (or *.run.json - github.com/dotnet/sdk/i...)
000
Jan Jones @janjones.me · 05/10/2025
Yes, it should work. .NET 10 rc1 is even the version of compilers included by default. I just tried what you described but it works fine for me. Can you try in a fresh private window, perhaps there are some old files interfering?
110
Jan Jones @janjones.me · 05/10/2025
Fully revamped the tree view 🌳 in .NET Lab. Now with cursor syncing. Can display syntax, IOperation, and symbol info. #dotnet #csharp #roslyn #dotnetlab
1163
Reposted by Jan Jones
Damian Edwards @damianedwards.com · 11/09/2025
Big improvements to the performance of developing C# file-based incoming. Subsequent builds/runs will cache MSBuild outputs & directly invoke the C# compiler if inputs don't change. This in addition to the work in rc.1 to avoid MSBuild completely for simple file-based apps github.com/dotnet/sdk/p...
github.com
Reuse CSC arguments in file-based app runs by jjonescz · Pull Request #50635 · dotnet/sdk
Part of #48011. This optimization saves CSC arguments when MSBuild runs and then reuses them in subsequent runs so dotnet run file.cs can skip MSBuild and invoke only the compiler. In my simple exp...
0186
Jan Jones @janjones.me · 06/09/2025
Added a small but useful feature to copy the current URL in .NET Lab (lab.razor.fyi). It has a keyboard shortcut too: Ctrl+; 📋 #dotnet #csharp #roslyn #dotnetlab
020
Jan Jones @janjones.me · 26/07/2025
.NET Lab (lab.razor.fyi) just gained new configuration options inspired by `dotnet run app.cs`. Reference any NuGet packages via `#:package` or quickly change config via `#:property` (with editor suggestions to guide you). 🚀⚙️
020
Reposted by Jan Jones
Damian Edwards @damianedwards.com · 15/07/2025
Check out all the improvements to file-based apps (dotnet run app.cs) in preview.6 that went out today! github.com/dotnet/core/...
github.com
2135
Reposted by Jan Jones
Andrew Lock "Sock" @andrewlock.bsky.social · 08/07/2025
Blogged: Behind the scenes of dotnet run app.cs - Exploring the .NET 10 preview - Part 2 andrewlock.net/exploring-do... In this post I looks at how the new single-file .NET run experience is implemented inside the .NET SDK, focusing on how the virtual-project file is built. #dotnet #csharp
andrewlock.net
Behind the scenes of dotnet run app.cs: Exploring the .NET 10 preview - Part 2
In this post I looks at how the new single-file .NET run experience is implemented inside the .NET SDK, focusing on how the virtual-project file is built
053
Jan Jones @janjones.me · 28/06/2025
.NET Lab (lab.razor.fyi) now has Code Actions 🚀 Very useful when you paste some code snippet and want to add missing usings. But it can do much more - all Roslyn code fixes are included.
0126
Jan Jones @janjones.me · 22/06/2025
Added semantic highlighting to .NET Lab (lab.razor.fyi)
041
Jan Jones @janjones.me · 15/06/2025
Yes, should be in .NET 10 Preview 6
131
Reposted by Jan Jones
Mattias Karlsson @devlead.se · 14/06/2025
And soon just dotnet app.cs 😎 github.com/dotnet/sdk/p...
github.com
Add support for `dotnet file.cs` (without explicit `run` subcommand) by jjonescz · Pull Request #48387 · dotnet/sdk
Resolves #49202.
4248
Jan Jones @janjones.me · 16/05/2025
Completions and live diagnostics are now much improved and enabled by default in .NET Lab (lab.razor.fyi). Stay tuned for more enhancements to the editing experience coming soon.
021
Jan Jones @janjones.me · 02/03/2025
Shared lab.razor.fyi snippets are now cached, so you can see the output even before the compiler is initialized. (Nevertheless, more optimizations of loading times are coming.) Example: lab.razor.fyi#47Lm4gooyk8v...
000
Jan Jones @janjones.me · 21/02/2025
Added this cool loading animation to lab.razor.fyi. Suddenly the loading feels faster ⚡
063
Jan Jones @janjones.me · 20/12/2024
Old version using Bootstrap
000
Jan Jones @janjones.me · 20/12/2024
Updated lab.razor.fyi to use Microsoft Fluent UI. Quite happy with the result. Also got dark mode for free.
151