hubs.la/Q03Q9PGP0
More details, and the story of how I came to write it, are on my blog at
ericlippert.com/2025/10/30/i...
It feels great to be writing again after a long break. :)
hubs.la/Q03Q9PGP0
More details, and the story of how I came to write it, are on my blog at
ericlippert.com/2025/10/30/i...
It feels great to be writing again after a long break. :)
One option that I've found is to set 'TreatWarningsAsErrors' to true, and set 'CodeAnalysisTreatWarningsAsErrors' to false.
Is there a better way?
/cc: @jaredpar.bsky.social, @terrajobst.net
One option that I've found is to set 'TreatWarningsAsErrors' to true, and set 'CodeAnalysisTreatWarningsAsErrors' to false.
Is there a better way?
/cc: @jaredpar.bsky.social, @terrajobst.net
In 2021 I found an invisible memory leak in a tool (VS Code) that I have never used. Impossible? Easy:
randomascii.wordpress.com/2025/10/09/f...
In 2021 I found an invisible memory leak in a tool (VS Code) that I have never used. Impossible? Easy:
randomascii.wordpress.com/2025/10/09/f...
This time, it's about Parallel Stacks - my very favorite
@visualstudio.com
feature that you probably are not using enough!
I can't even count how many times it helped me production incidents investigations!
youtu.be/Z5mN0VCB-KA?...
This time, it's about Parallel Stacks - my very favorite
@visualstudio.com
feature that you probably are not using enough!
I can't even count how many times it helped me production incidents investigations!
youtu.be/Z5mN0VCB-KA?...
Thanks a lot everyone for your support and warm feedback that I'm getting!
Thanks a lot everyone for your support and warm feedback that I'm getting!
This time its all about ConfigureAwait, why we ended up having it and how it works under the hood!
#dotnet folks, please share! I'll really appreciate it!
youtu.be/RZsLA_R8i9s?...
This time its all about ConfigureAwait, why we ended up having it and how it works under the hood!
#dotnet folks, please share! I'll really appreciate it!
youtu.be/RZsLA_R8i9s?...
Even if you think you know them, it is a good read as a reminder! 😎
#dotnet #csharp
Even if you think you know them, it is a good read as a reminder! 😎
#dotnet #csharp
Your support means the world!
/cc: @scott.hanselman.com, @ardalis.com, @terrajobst.net, @migueldeicaza.bsky.social and every other member of .net community!
Async methods might be scary for some, but they're not that complicated if you can debug the async machinery to understand how they work!
This is exactly what I did in the last video - "Let's debug async/await in C#".
youtu.be/oHKyzgGjKHQ?...
Your support means the world!
/cc: @scott.hanselman.com, @ardalis.com, @terrajobst.net, @migueldeicaza.bsky.social and every other member of .net community!
Async methods might be scary for some, but they're not that complicated if you can debug the async machinery to understand how they work!
This is exactly what I did in the last video - "Let's debug async/await in C#".
youtu.be/oHKyzgGjKHQ?...
Async methods might be scary for some, but they're not that complicated if you can debug the async machinery to understand how they work!
This is exactly what I did in the last video - "Let's debug async/await in C#".
youtu.be/oHKyzgGjKHQ?...
/cc: @migueldeicaza.bsky.social, @scott.hanselman.com and other folks, I love to discuss this topic!
You might disagree with my take! But its time to reconsider some old patterns.
It’s time to reconsider the Dispose Pattern and abandon Dispose(bool disposing) nonsense. Let’s move to a simpler approach and never mix managed and native resources.
youtu.be/E6tQDczhrUM?...
/cc: @migueldeicaza.bsky.social, @scott.hanselman.com and other folks, I love to discuss this topic!
You might disagree with my take! But its time to reconsider some old patterns.
It’s time to reconsider the Dispose Pattern and abandon Dispose(bool disposing) nonsense. Let’s move to a simpler approach and never mix managed and native resources.
youtu.be/E6tQDczhrUM?...
It’s time to reconsider the Dispose Pattern and abandon Dispose(bool disposing) nonsense. Let’s move to a simpler approach and never mix managed and native resources.
youtu.be/E6tQDczhrUM?...
Could you please share this tweet about how to unlock most of the C# productivity features even targeting .NET Framework or .netstandard2.0.
Appreciate your support!
Quite a few devs limit themselves with C# 7.3 when they target full framework or .netstandard2.0.
You still can leverage most of the latest C# features in this case.
youtu.be/5eNtdj68qW4?...
Could you please share this tweet about how to unlock most of the C# productivity features even targeting .NET Framework or .netstandard2.0.
Appreciate your support!
Quite a few devs limit themselves with C# 7.3 when they target full framework or .netstandard2.0.
You still can leverage most of the latest C# features in this case.
youtu.be/5eNtdj68qW4?...
Quite a few devs limit themselves with C# 7.3 when they target full framework or .netstandard2.0.
You still can leverage most of the latest C# features in this case.
youtu.be/5eNtdj68qW4?...
Just published another episode on Dissecting the Code channel: How Google Broken the Internet and Why It Took 3 Hours to Recover?
It's about null pointer bugs, retry logic and a bit of .NET Aspire used for visualizing the metrics.
Please share and sub!
Just published another episode on Dissecting the Code channel: How Google Broken the Internet and Why It Took 3 Hours to Recover?
It's about null pointer bugs, retry logic and a bit of .NET Aspire used for visualizing the metrics.
Please share and sub!
Project Reference Graph
New tab that shows the project graph layered by project "height". Each project only references projects above it.
Clicking a project highlights all directly referenced projects above, and all projects below it that reference this one.
Project Reference Graph
New tab that shows the project graph layered by project "height". Each project only references projects above it.
Clicking a project highlights all directly referenced projects above, and all projects below it that reference this one.
if (x == null)
{
...
}
if (x == null)
{
...
}
Just published another episode on Dissecting the Code YouTube channel: “Shooting yourself in a foot with the finalizers”.
Crashes due to NullReferenceException, race conditions, constructors that finish before the finalizers, and all the fun stuff!
youtu.be/Wh2Zl1d57lo?...
Just published another episode on Dissecting the Code YouTube channel: “Shooting yourself in a foot with the finalizers”.
Crashes due to NullReferenceException, race conditions, constructors that finish before the finalizers, and all the fun stuff!
youtu.be/Wh2Zl1d57lo?...
ValueTasks are tricky and they can't be stored in a field, or awaited multiple times. Preserve "fixes" that by allocating Task<T> under the hood.
ValueTasks are tricky and they can't be stored in a field, or awaited multiple times. Preserve "fixes" that by allocating Task<T> under the hood.
Have you ever think, why we’re not using a struct for managing resources? It should be more efficient, right? Icover what will happen and why we should use the building blocks like SafeHandle.
#dotnet
youtu.be/DUgtC0OZMtA
Have you ever think, why we’re not using a struct for managing resources? It should be more efficient, right? Icover what will happen and why we should use the building blocks like SafeHandle.
#dotnet
youtu.be/DUgtC0OZMtA
Do you ever used (or needed) a debug version of a nuget package? The package has only the managed library, no native code, no executables.
Is there a use case for that?
Do you ever used (or needed) a debug version of a nuget package? The package has only the managed library, no native code, no executables.
Is there a use case for that?
Another quite exciting news: I've been mentoring colleges at MSFT for quite some time and now I'm available as a mentor at mentor.sh platform.
Here is my profile: mentor.sh/mentors/Serg...
Will be happy to be your mentor and learn from each other!
Another quite exciting news: I've been mentoring colleges at MSFT for quite some time and now I'm available as a mentor at mentor.sh platform.
Here is my profile: mentor.sh/mentors/Serg...
Will be happy to be your mentor and learn from each other!
Just published another episode on Dissecting the Code YouTube channel - "Can Tiered Compilation Cause Memory Leaks in .NET".
This video is about a change in behavior between full framework on .net 9 in respect to GCInfo and how it affect memory usage.
Just published another episode on Dissecting the Code YouTube channel - "Can Tiered Compilation Cause Memory Leaks in .NET".
This video is about a change in behavior between full framework on .net 9 in respect to GCInfo and how it affect memory usage.