.NET

1662 readers
3 users here now

Getting started

Useful resources

IDEs and code editors

Tools

Rules

Related communities

Wikipedia pages

founded 2 years ago
MODERATORS
1
2
3
4
19
What's new in C# 14 (learn.microsoft.com)
submitted 1 week ago by manuc66 to c/dotnet
5
6
7
7
submitted 2 weeks ago by SmartmanApps to c/dotnet
8
3
Why MAUI Blazor Hybrid (blog.lhotka.net)
submitted 2 weeks ago by SmartmanApps to c/dotnet
9
10
11
9
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/dotnet
 
 

I want to take a screenshot. In Windows, that's a simple Graphics::CopyFromScreen call.

In Linux, I feel a little confused on how to do this. It seems there is a principal and stark distinction between X11 and Wayland, so I have to include both code paths. For either, it seems there is quite a lot of boilerplate code, often tagged as 'may break depending on your configuration, good luck'.

Effectively, what I found is recommended most often is to call ffmpeg to let it handle that. I'm sure that works, but I find it rather unpalatable.

I find this strange. Taking a screenshot is, in my mind at least, supposed to be a straightforward part of a standard library. Perhaps it is, and I just completely missed it? If not, is there a good library that works out-of-the-box on most variants of linux?


Update: Thank you all for the input. I eventually went with calling ImageMagick. It is fast, easy to use, well documented, and supports capturing arbitrary displays with little effort.

12
13
13
submitted 2 weeks ago by Kissaki to c/dotnet
14
15
3
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/dotnet
 
 
16
5
submitted 2 weeks ago* (last edited 2 weeks ago) by Kissaki to c/dotnet
 
 

This first push resulted in NuGet Restore times being cut in half, which was a reasonable stopping point for our work. However, along the way, we realized that a more extensive rewrite could improve performance by a factor of 5x or more.

Written from the perspective of several team members, this entry provides a deep dive into the internals of NuGet, as well as strategies to identify and address performance issues.

17
4
submitted 3 weeks ago* (last edited 3 weeks ago) by Kissaki to c/dotnet
 
 

In the rapidly evolving world of AI and machine learning, effective communication between models and applications is critical. The Model Context Protocol (MCP) is a standardized protocol designed to facilitate this communication by providing a structured way to exchange context and data between AI models and their clients.

The MCP C# SDK is in preview and APIs may change. We will continuously update this blog as the SDK evolves.

18
 
 

The Push Notification Hub (PNH) service recently went through significant modernization. We migrated from legacy components like .NET Framework 4.7.2 and custom HTTP server called “RestServer”, to .NET 8 and ASP.NET Core 8. Moreover, for handling outgoing requests, we moved from custom HTTP client/handler called “HttpPooler”, to Polly v8 and SocketsHttpHandler. This article describes the journey thus far and its impact on PNH performance.

Sections: Intro (what is PNH), expectations, measurement, migration phases (concrete tech and measurements), closing thoughts, next steps.

PNH is deriving great benefits from .NET 8. Overall performance improved, as evidenced by the Q-Factor metric, by about 70%. Performance is a major factor for a service like this and will reflect positively in basically all flows on Teams platform that got to do with messaging. The results actually exceeded our expectations by significant margin.

19
20
 
 

In order to ensure the long-term sustainability of my OSS projects, I will be commercializing AutoMapper and MediatR.

What Will This Look Like?

The short answer is "I don't know exactly". I'm working out those details now and will share them when I figure it out.

21
22
23
24
4
submitted 1 month ago by SmartmanApps to c/dotnet
25
view more: next ›