laitimes

. .NET Weekly【June Issue 3 2024-06-23】

author:opendotnet

Domestic articles

C#. Net筑基-集合知识全解

https://www.cnblogs.com/anding/p/18229596

. .NET provides a variety of collection types, such as arrays, lists, dictionaries, etc., which are divided into generic and non-generic collections. Generic collections have better performance and type safety. The basic interfaces of the collection include IEnumerator, IEnumerable, ICollection, IList, IDictionary, etc., which provide operations such as enumeration, indexing, adding, and deleting. Non-generic collections still exist for historical reasons, but are not recommended.

Collection<T>

and

List<T>

The main difference is that the former facilitates inheritance and custom implementations, while the latter optimizes performance. The foreach loop relies on the IEnumerable interface and its enumerator, IEnumerator.

. .NET uses native methods for file compression and decompression

https://www.cnblogs.com/Can-daydayup/p/18257870

This article describes how to use the . .NET uses classes in the System.IO.Compression namespace to implement the compression and decompression of files and folders, especially .zip file formats. This paper describes the functions and functions of related classes, including ZipFile, ZipArchive, etc., as well as the application of file compression in saving storage space, reducing network transmission time, packaging and distributing files, and encrypting and protecting files. The article also covers the compression levels and Zip archive mode, and finally shows how to compress and decompress files and folders through specific code.

How C# creates a project template that can be quickly reused

https://www.cnblogs.com/xiaxiaolu/p/18259750

The article discusses how to base on:

dotnet new

The command creates a custom project template, from project preparation to template configuration for detailed steps. First, prepare an existing project for the template, such as the Azure Function project, and show its file structure. Then, explain in detail how to create a configuration file at the root of the project for future use

dotnet new

command to generate a new project. The content of the article is of practical guidance for experienced developers and in-house project scaffolding.

New in C# 13 (.Net 9) - Extended Types

https://www.cnblogs.com/Rwing/p/18261641/Csharp_13_dot_net_9_preview_extension_types

C# 13 and .NET 9 are expected to be released in November 2024 and will introduce the new feature of extension types. Extension types allow you to add new functionality to a class without modifying the original class code. Compared with the existing extension methods, the extension type semantics are clearer and solve the problem of extension properties. New features include the Implicit Extension and Explicit Extension, which are used to extend methods and properties implicitly and explicitly, respectively. This feature is expected to improve the readability, maintainability, and expressiveness of the code. However, these new features may not be fully released in C# 13, and will be gradually unlocked with more complete support.

【踩坑】.NET 8.0 自定义IExceptionHandler不生效

https://www.cnblogs.com/netry/p/18254779/dot-net-iexceptionhandler-not-working

This article discusses the use of middleware to implement global exception handling in ASP.NET Core. This section describes how to use the built-in middleware UseExceptionHandler and custom middleware, and lists the methods implemented using the filter IExceptionFilter. Finally mentioned. The new IExceptionHandler introduced in .NET 8.0 and its benefits.

How to change it. What is the default time zone in .NET?

https://www.cnblogs.com/VAllen/p/18251617/How-to-change-Default-Time-Zone-in-dotnet

Modify without modifying the operating system's time zone. .NET default time zone method. .NET does not have a public API, and the author provides two solutions: using hook technology to hijack the time zone information returned by win32 api, and using reflection technology to modify the time zone information. The code implementation, advantages and disadvantages of the reflection scheme are explained in detail, and the need for repeated verification and rigorous testing is reminded.

What the C# language can do on the AGI track

https://www.cnblogs.com/shanyou/p/18256187

Since OpenAI released ChatGPT in 2022, there have been many companies active in the AGI space. Python still dominates AI, but Microsoft has used C# to launch the Semantic kernel framework to speed up the development of large model applications. Microsoft has partnered with OpenAI to launch a .NET version of the client, and the new SDK is also used in the Azure OpenAI connector for the Semantic kernel. Semantic kernel. .NET developers provide tools for rapid development of AGI applications and have received 19k stars on GitHub. In addition, Microsoft Research's Autogen and Botsharp are also important agent development frameworks. C# is gaining a foothold in the AGI space with its simplicity and high performance.

Zero-based Writing Framework (3): Tips for using logs in Serilog.NET

https://www.cnblogs.com/whuanle/p/18253597

This article describes the . The method of logging using Serilog in .NET, covering the example project of the console application. The article describes the use of different receivers such as Serilog.Sinks.Console, Serilog.Sinks.File, etc., and provides code examples and configuration file examples. It also discusses how to integrate Serilog into the application via dependency injection, culminating in an example of log output for different configuration methods.

Start an interactive process as the specified user in a .NET program running as a System

https://www.cnblogs.com/VAllen/p/18257879/in-dotnet-program-run-as-system-to-start-an-interactive-process-as-the-specified-user

This article describes how to start an interactive process as another active user in a .NET program running as System. The author uses the GitLab pipeline as an example to achieve this requirement using C# and PowerShell. A specific code example is then given, including how to obtain the user token for the currently active session, copy the token, and set the program's startup parameters.

Remember once . .NET analysis of a robotic arm upper system

https://www.cnblogs.com/huangxincheng/p/18253859

The article tells the story of a friend's program that occasionally gets stuck, analyzes what the main thread is doing through WinDbg, and finds that it is due to the error code 6 caused by RtlSetLastWin32Error, which indicates an invalid handle. The author believes that invalid handles will not cause the program to freeze, and recommends grabbing multiple dumps for analysis in this scenario.

Open source an anti-SQL injection asp.net Core middleware

https://www.cnblogs.com/toolgood/p/18261896

The company was notified that it needed to prevent SQL injection and rectified, and the company conducted a test and found that ordinary SQL statements could be detected, but there were still undetected injection methods. The main injection methods are based on comments, errors, time, federated queries, and identity authentication bypasses. The company uses the ToolGood.SQLFirewall middleware to protect it through path rules, and gives simple methods such as sql statements and stored procedures with parameters, and mentions the scheme of referring to the reverse proxy.

聊一聊 Monitor.Wait 和 Pulse 的底层玩法

https://www.cnblogs.com/huangxincheng/p/18258390

This article explores the underlying principles of thread blocking when using Monitor.Wait in C#. The code example demonstrates the process that Worker1 needs to wait for Worker2 to complete, and analyzes the core data structure WaitEventLink and its fields in detail. Detailed implementation steps for Monitor.Wait in coreclr are provided, explaining how threads are queued via SyncBlock. This paper discusses the implementation mechanism of Monitor.Wait through illustration and source code analysis.

WatchDog: A .NET open-source real-time application monitoring system

https://www.cnblogs.com/Can-daydayup/p/18261633

WatchDog is an open-source real-time application monitoring system for ASP.Net Core. It leverages SignalR for real-time monitoring, LiteDB as a serverless database, and supports multiple external databases. Support for .NET Core 3.1 and later. Developers can install and configure the WatchDog service and exception logger through NuGet, and set the password for the access log account. The project's source code and more features can be viewed on its GitHub address. The project has been included in C#/. In the selection of excellent projects of .NET, more developers are welcome to submit PRs. The DotNetGuide Technical Community is a platform for learning materials, technology sharing, and communication.

WPF/C#: Display a selection box in DataGrid

https://www.cnblogs.com/mingupupu/p/18258249

This article describes the implementation of adding a checkbox column to a DataGrid in WPF. The database model was first defined, and then a view-model class containing the INotifyPropertyChanged implementation was created to simplify the use of the MVVM pattern. Use the CommunityToolkit.Mvvm package to simplify your code and implement UI updates with ObservableCollection. The article also explains how to get data from a database and convert it into a list of view models, and concludes with an extension method to add to an ObservableCollection.

Efficiency Booster: An Online Tool. .NET source code query website

https://www.cnblogs.com/Can-daydayup/p/18255171

This article describes an online query. .NET source code for the website, as well as some . .NET online learning resources. The site provides features such as Go to Definition, Find All References, Highlight References, Document Outline, and more, which greatly facilitates the needs of developers to query and analyze the source code. In addition, the article introduces information about the DotNetGuide technical community and encourages developers to join the technical community to share experiences and solve technical problems.

NET 8 Native AOT and High-Performance Web Development Applications[with Performance Test Results]

https://www.cnblogs.com/Rwing/p/18262526/a-dive-into-net-8-native-aot-and-efficient-web-development

.NET 8 introduces native AOT compilation technology, which greatly improves the performance of ASP.NET Core applications. The CreateSlimBuilder method optimizes the underlying performance, but requires manual configuration of some traditional components. CreateEmptyBuilder provides a fully customized development experience, allowing developers to choose components based on their needs. Performance testing results show that these new methods perform well in improving application startup time and memory usage.

dotnet 融合 Avalonia 和 UNO 框架

https://www.cnblogs.com/lindexi/p/18263041

This article describes how to fuse both Avalonia and UNO frameworks in a single solution. The author is optimistic about the current state of Avalonia and the future of UNO, but is not satisfied with Avalonia's base library and facilities. The development experience of the Avalonia team has been greatly improved due to the restructuring and optimization that the Avalonia team underwent in 2023. Nonetheless, the authors believe that UNO is more specialized and managed, and chooses to use UNO on the base library and Avalonia on the upper-layer application to combine the best of both.

LiveCharts2: Simple, flexible, interactive, and powerful .NET charting library

https://www.cnblogs.com/mingupupu/p/18253741

The article introduces the new . LiveCharts2, a .NET charting library, covers its features, installation methods, and simple usage examples. LiveCharts2 supports a variety of chart types, adopts MVVM design mode, emphasizes performance optimization, and is suitable for multi-platform applications. Concrete examples show how to draw line charts, pie charts, and polar charts, with links to reference materials.

Blog Park crowdsourcing platform: Game developers find people to work together for a long time to build their own websites

https://www.cnblogs.com/cmt/p/18262107

The Yuanzi crowdsourcing platform brings together many developers, and one should be good at . Senior game developers from .NET and Unity are looking for full-stack developers in Shanghai to develop websites that showcase distributed microservice frameworks and game projects. The technical requirements are to use VuePress or Blazor for the front-end, with the back-end taking precedence. NET。 Developers need to be based in Shanghai.

Dynamically draw the system name in the Winform program instead of the image hardcoded name

https://www.cnblogs.com/wuhuacong/p/18258263

This article describes two ways to display the name of a program in the login window. The first method uses a picture editing tool such as Photoshop to modify the background image and replace it. The second method uses GDI+ to dynamically draw the system name, using the system name information in the configuration file to draw in the Paint event of the window. This method is more flexible and automatically adjusts the font size based on the length of the text.

Introducing you to the revamped Visual Studio Explorer

https://www.cnblogs.com/MeteorSeed/p/18240700

The new version of Visual Studio Explorer greatly improves the resource management experience for .NET developers. Improvements include support for bulk loading of files, global search, annotation capabilities, validation and warning prompts, as well as better accessibility and UI design such as zoom and black themes. However, this version does not support CSV import and export, automatic translation, etc., and is recommended to be used in conjunction with the ResXResourceManager extension.

The essential technology stack for microservice architecture: the mystery of everything that never changes!

https://www.cnblogs.com/xw-01/p/18251582

This article introduces the different technology stacks under the microservice architecture, mainly focusing on Microsoft's technology system. Service communication, process communication, API gateway, authentication and authorization, transient fault handling, distributed tracing, distributed logging, and distributed configuration center are included. It also introduces the application scenarios and recommended tools for each technology, such as WCF, gRPC, Ocelot, IdentityServer4, Polly, and Exceptionless. The article is moderately technical in depth and practical, describing each technical point in detail, and with relevant links for further research.

WPF/C#: Two ways to display grouped data

https://www.cnblogs.com/mingupupu/p/18256035

This article describes two implementations of WPF data grouping: ICollectionView and IGrouping. First, ICollectionView uses the CollectionViewSource and PropertyGroupDescription classes to group data, and displays it in XAML through bindings. Second, IGrouting leverages LINQ's GroupBy method to group sets. Both solutions have CS and XAML code examples that explain in detail what each line of code does.

使用Microsoft.SemanticKernel基于本地运行的Ollama大语言模型实现Agent调用函数

https://www.cnblogs.com/gmmy/p/18259238

This article explores how to implement function calls using a large language model that runs locally. The author introduces the whole process of implementing function invocation through C# and SemanticKernel based on the Alibaba Cloud open-source quantitative version of Qianwen 7B model, including installing Ollama on Windows, setting up the API backend, coding implementation, and invocation process. This includes defining functions, creating SemanticKernel instances, and configuring the necessary packages and services. The technical details and steps involved in the article are clearly described, and in particular provide in-depth explanations in terms of the design of the interaction with the native model API.

VMware vSphere uses PowerShell scripts in RVTools to create an automated task that exports vSphere environment information.

https://www.cnblogs.com/juniormu/p/18260908

RVTools is a free Windows tool that collects and displays VMware vSphere environment information. Get data through vSphere Management SDK 8.0 and CIS REST API. Acquired by Dell in 2023 and still free to use. The latest version of RVTools is 4.6.1, supports multiple vSphere versions, and requires .NET 4.6.2. You can use PowerShell scripts to automatically export information and automate tasks with task scheduling. Multiple command-line options are available to export information to XLSX or CSV formats.

a. .NET open source i Moutai automatic appointment assistant

https://www.cnblogs.com/Can-daydayup/p/18264005

This paper introduces an open-source .NET project HyggeImaotai based on WPF, which simulates the automatic reservation of Moutai liquor on the iMoutai APP every day. The content includes the project functional modules, downloads and source code addresses, and invites developers to join the DotNetGuide technical community. The community provides C#/.NET/.NET Core learning resources, project recommendations, and communication platforms.

XAF 属性编辑器(PropertyEditor)- 原理篇

https://www.cnblogs.com/haoxj/p/18255657

This article describes the principles of the Property Editor in XAF Blazor and the changes in the new version 24.1.3. The property editor acts as a bridge between platform-agnostic business code and specific platform components, enabling synchronization by listening to and updating property values. The new version removes the ComponentAdapter and uses an interface to make the property editor more concise and closer to WinForm. The article compares the differences between the old and new versions and the technical points of the package in detail.

. Net8 AddKeyedScoped键值key注册服务异常

https://www.cnblogs.com/chenxf1117/p/18255775

After using AutoFac instead of the default DI container in a .Net8 WebAPI application, an exception was encountered when registering the service with a key-value. During the troubleshooting process, the problem is found to be solved after the Autofac-DI version is upgraded to a version that supports 9.0. The summary is that when a third-party component is referenced in a project, you can check its version first if there is a problem, and the problem may have been fixed.

SpringBoot+Selenium模拟用户操作浏览器

https://www.cnblogs.com/GilbertDu/p/18245952

Selenium is an open-source automated testing tool for web applications, primarily used for browser automation, compatibility testing, functional testing, and end-to-end testing. It supports multiple programming languages and integrates with DevTools. Selenium improves the efficiency of quality assurance for development teams by streamlining the testing process. Installing Selenium includes downloading the WebDriver library for the development environment and the corresponding browser drivers. This article describes in detail how to install and download drivers in different languages.

WPF/C#: How to display data in groups

https://www.cnblogs.com/mingupupu/p/18252701

The Grouping demo in WPF Samples shows how to group task lists by XAML defining data templates and data providers. Examples include the MainWindow.xaml file, using StackPanel, XmlDataProvider, and ItemsControl, and showing how to group tasks by type.

NetMvc is successfully solved by uploading MinIO to the server and client in Amazon

https://www.cnblogs.com/jake-code/p/18255014

This article describes how to upload files to the MinIO server using the AWSSDK.S3 and AWSSDK.Core libraries. The article includes project background, introduction to MinIO and AWS S3, server configuration, and implementation code, detailing the steps to implement file upload using C#.

How to build a C# source code component NuGet package with csproj?

https://www.cnblogs.com/VAllen/p/18255504/how-to-use-csproj-to-build-the-csharp-source-code-component-nuget-package

This article describes how to create a NuGet package that packages only the C# source code files. Compared with traditional DLL assembly distribution, this method has the advantages of being convenient for reading and debugging the source code, reducing assembly loading, and is more conducive to code protection, but the disadvantage is that it is easy to leak the source code and name conflicts. We recommend that you strictly specify the naming and write component version information to the target project for troubleshooting. The specific implementation steps include creating a project directory, generating a PackageInfo.cs file to save version information, and using code to show how to implement version information output in the generated directory file.

探索Semantic Kernel内置插件:深入了解ConversationSummaryPlugin的应用

https://www.cnblogs.com/ruipeng/p/18251740

This article introduces the built-in plug-ins and their functions in Semantic Kernel, including the dialog summarization plug-in, the file read-write plug-in, the HTTP request plug-in, etc., and demonstrates how to use the dialog summarization plug-in through code examples. Installing and using plugins requires management through Nuget packages. In practice, the summary results generated by the plugin may need to be further refined.

WPF/C#: Data binding to methods

https://www.cnblogs.com/mingupupu/p/18260193

This article describes how to implement data binding to methods in WPF via the ObjectDataProvider class. By defining the ObjectDataProvider and DoubleToString objects in the MainWindow.xaml file, it demonstrates how to bind the Text of the TextBox and the SelectedValue property of the ComboBox to the parameters of the method, and configures the data converter and validation rules. A specific implementation of the ConvertTemp method is also provided for temperature conversion and the return of the result.

topic

通过 Microsoft 更新保持 Visual Studio 自动更新和安全 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/automatically-install-visual-studio-security-updates-through-microsoft-update/

About Visual Studio updates, you can now receive security updates from Microsoft Update, a system that distributes Microsoft product updates in addition to Windows Update.

This article covers future improvements to Microsoft Update, including how to enable updates, how to opt out, and how to preview updates to roll out starting in August.

Announcement: Introducing .NET C# Inline Actions for Azure Logic Apps (Standard) - Preview

https://techcommunity.microsoft.com/t5/azure-integration-services-blog/announcement-introducing-net-c-inline-action-for-azure-logic/ba-p/4160541

Support for C# inline actions in Azure Logic Apps is now in preview.

This article explains how to add C# scripts to workflows, available features and APIs, and limitations.

宣布 .NET Upgrade Assistant 的第三方 API 和包映射支持 - .NET 博客

https://devblogs.microsoft.com/dotnet/announcing-api-map-support-for-ua/

.NET Upgrade Assistant 现在支持为第 3 方 API 和包实施自定义映射包。

Upcoming changes to the supported version of Visual Studio for remote debugging using Azure App Service

https://techcommunity.microsoft.com/t5/apps-on-azure-blog/upcoming-changes-to-supported-versions-of-visual-studio-for/ba-p/4164389

Supported version changes for remote debugging from Visual Studio for .NET processes on Azure App Service.

2022 and earlier versions will no longer be supported from June 2024, and 2022 17.9 and earlier versions will no longer be supported from the end of January 2025.

版本 11.0.11 · AvaloniaUI/Avalonia

https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.11

Avalonia 11.0.11 has been released.

This release contains several bug fixes.

发布 v2.5.168 · MessagePack-CSharp/MessagePack-CSharp

https://github.com/MessagePack-CSharp/MessagePack-CSharp/releases/tag/v2.5.168

MessagePack-CSharp v2.5.168 已发布。

This release fixes multiple bugs, supports NonSerialized, and cleans up dependencies.

Articles, slides, etc

The build passed, but it didn't work! 2 breaking changes that actually caused problems when migrating from .NET 6 to .NET 8

https://zenn.dev/xin9le/articles/b2b0d500df95c7

About issues caused by behavior changes when migrating from .NET 6 to 8. This article describes issues related to the FromBody and JsonRequired properties.

dotCover: Command Line Tools for Automating Test Code Coverage | .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/06/20/dotcover-command-line-tools-for-automation-testing-code-coverage/

Introducing dotCover's command-line tool to get code coverage. This article covers installation, usage, and other tips.

How to properly measure code velocity in .NET

https://dev.to/byteminds_agency/how-to-properly-measure-code-speed-in-net-158o

A quick introduction to the basics of performance measurement with BenchmarkDotNet.

Using Phi-3 and C# with ONNX for Text and Visual Samples - .NET Blog

https://devblogs.microsoft.com/dotnet/using-phi3-csharp-with-onnx-for-text-and-vision-samples-md/

Describes sample code that invokes a Phi-3 ONNX model from C# to generate text and perform image recognition.

MAUI Android is outraged by "JAVA0000: Type ~ Defined many times".

https://zenn.dev/proudust/articles/2024-06-19-maui-android-java0000

Issues that can cause build errors when creating a .NET MAUI build for Android and how to deal with them.

链接 OmniSharp-Vim 和 fzf 成员列表显示 - Qiita

https://qiita.com/lx-sasabo/items/b9a1c84a66a306ade81d how to display a list of members by linking OmniSharp-Vim and fzf in Vim.

Privacy and Security Improvements in .NET Modernization Tools - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-modernization-privacy-security-improvements/

About security and privacy improvements in the .NET modernization tools (.NET Upgrade Assistant and Azure Migration Application and Code Assessment).

It is installed on a per-user basis, no longer requires admin privileges to update, and you can now control the information included in the report.

Easily navigate code delegates while debugging - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/easily-navigate-code-delegates-while-debugging/

Improvements to code navigation for delegates when debugging in Visual Studio 17.10.

It is now possible to jump from the delegate to the source code while debugging.

Coding Styles for Productivity - Tips & Tools for the Metalama Team | .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/06/18/code-style-for-better-productivity-tips-and-tools-from-the-metalama-team/

An introduction to the practices and tools used by the Metalama team in terms of code style.

This article explains consensus, how to configure it in the IDE, report warnings, and schedule regular cleanups of it.

Refactoring code with default lambda arguments - .NET Blog

https://devblogs.microsoft.com/dotnet/refactor-your-code-with-default-lambda-parameters/

About the default parameters for lambda expressions introduced in C# 12.

This article explains how to use it and how to use it with the ASP.NET Core Minimal API.

Explore the generated code:

List<T>

and Fallback Cases: Behind the Scenes of Collection Expressions - Part 2

https://andrewlock.net/behind-the-scenes-of-collection-expressions-part-2-exploring-the-generated-code-list-and-fallback-cases/

Explain how the compiler extends collection expressions.

We've built HashSets and custom type results,

List<T>

Optimizations and behaviors such as fallback for .NET 8 and earlier versions.

Design, deployment, and scaling considerations in SignalR

https://ilovedotnet.org/blogs/design-and-deployment-and-scaling-in-signalr/

Considerations for deploying and scaling SignalR.

How to encrypt ASP.NET Core route parameters

https://khalidabuhakmeh.com/how-to-encrypt-aspnet-core-route-parameters

How to encrypt route parameters in ASP.NET Core. This article describes how to perform encryption/decryption using routing constraints and parameter binders.

Practice HTTP/3 with .NET

https://medium.com/@Alikhalili/hands-on-http-3-with-net-fcd38cf7ad05

An explanation of HTTP/3 and tips for implementing tools based on the HTTP/3 specification.

Initiate. What to do if I get a timeout error when I am in NET Aspire

https://zenn.dev/microsoft/articles/dotnet-aspire-launch-error

What to do when a .NET Aspire project fails to start due to a port conflict.

Rider 2024.2 EAP 3 已推出!

https://blog.jetbrains.com/dotnet/2024/06/14/rider-2024-2-eap-3/

Rider 2024.2 EAP 已发布。

This release is now bundled with the dotnet watch plugin.

A .NET Developer's Guide to XUnit Test Instrumentation with OpenTelemetry and Aspire Dashboard

https://dev.to/nikiforovall/a-net-developer-guide-to-xunit-test-instrumentation-with-opentelemetry-and-aspire-dashboard-5h14

如何结合 Aspire Dashboard 和 OpenTelemetry 来衡量 xUnit 测试。

【活动报道】现代C# .NET Web开发gRPC、GraphQL、Blazor也可用召开 - Sansan Tech Blog

https://buildersbox.corp-sansan.com/entry/2024/05/23/143000

今日C# .NET Web开发gRPC、GraphQL、Blazor也可用公告后续文章

Libraries, repositories, tools, etc.

AnnulusGames/Csv-CSharp:适用于 .NET 和 Unity 的快速 CSV 序列化器

https://github.com/AnnulusGames/Csv-CSharp

Fast, zero/low allocation CSV parser based on the source generator. Actions with Unity are also supported.

https://x.com/annulusgames/status/1803322411221500067?s=12&t=ggvrrZ7oLogHyNoIGNgjbw

. .NET Weekly【June Issue 3 2024-06-23】

Websites, documents, etc

Tweets

https://x.com/dave_dotnet/status/1804182294539776385?s=12

. .NET Weekly【June Issue 3 2024-06-23】

https://x.com/dave_dotnet/status/1802294617666187730?s=12

. .NET Weekly【June Issue 3 2024-06-23】

Dig deeper

[Windows] 通过 Foda 添加 TitleBar 控件 · Pull Request #23019 · dotnet/maui

https://github.com/dotnet/maui/pull/23019

Add a PR for the API related to the .NET MAUI title bar.

Copyright Notice

  • Domestic plate collated by InCerry : https://github.com/InCerryGit/.NET-Weekly
  • The rest of the content is from Myuki WeekRef, translated by InCerry (with permission) : https://github.com/mayuki/WeekRef.NET

Since the author does not have so much time to sort out some domestic articles, you are welcome to write for the . .NET Weekly-Domestic Articles" section to contribute, you need to promote your own articles or frameworks, open source projects can submit an Issue at the project address below or send a private message on my WeChat public account.

The format is as follows:

  • A title of about 10~50 words
  • A link to the URL of the corresponding article or project
  • A brief introduction of less than 200 words, if it is too long, it will affect the reading experience

https://github.com/InCerryGit/.NET-Weekly

. .NET Performance Optimization AC Group

I believe that you often encounter some performance problems in development, and you don't have effective tools to find performance bottlenecks, or you don't know how to optimize them after discovering bottlenecks. I have been asked if there is a technical exchange group before, but for various reasons it has not been created, and now I am happy to announce here that I have created a special exchange. .NET performance optimization experience group, topics include, but are not limited to:

  • How to find. .NET performance bottlenecks, such as using tools such as APM and dotnet tools
  • . Implementation of the underlying principles of the .NET framework, such as garbage collectors, JIT, and so on
  • How to write high-performance. .NET code, where there are performance pitfalls

I hope there will be more like-minded friends to join and share some of the work encounters. .NET performance issues and valuable experience in performance analysis optimization. Currently one group is full, and now two groups are open.

If the prompt has reached 200 people, you can add me to WeChat, and I will pull you into the group: ls1075

In addition, a QQ group has also been created, with the group number 687779078, everyone is welcome to join.