.NET周刊【6月第2期 2024-06-09】

国内文章

C#开源实用的工具类库,集成超过1000多种扩展方法

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

文章介绍了一个免费的C#工具类库Z.ExtensionMethods,可以通过NuGet包管理器轻松集成。该库支持.NET Standard 2.0和.NET Framework 4.0,包含丰富的扩展方法示例,如MD5哈希算法、解压GZip字节数组以及将泛型数组转换为DataTable。

.Net 中间件 - 新开源代码生成器 -ReZero

https://www.cnblogs.com/sunkaixuan/p/18228103

ReZero是一款.NET中间件,通过界面操作生成API,适用于.NET6+ API项目,非.NET用户也可使用exe文件。功能包括表文档导出、在线建表、代码生成、NUGET包安装和注册等。该工具使用自研模版引擎,易于集成与使用,支持创建和导入数据库表并导出文档。设置完成后,可通过URL启动。

使用Visual Studio分析.NET Dump

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

本文讨论了如何使用Visual Studio 2022分析.NET Dump文件,以快速查找程序内存泄漏问题。文章首先介绍了Dump文件的作用及其内容,然后通过编写一段死循环代码演示内存泄漏的情况。接着,文章详细讲解了如何查看程序运行情况并创建Dump文件。最后,使用Visual Studio分析Dump文件,定位内存泄漏位置,并提供了额外的Visual Studio编程效率提升技巧。此外,文章还推广了DotNetGuide技术社区以及其资源。

C#.Net筑基-String字符串超全总结 [深度好文]

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

文章详细阐述了字符与字符编码、字符串基础的相关知识。介绍了字符Char及其在C#中的表现形式,说明了Unicode字符集及其各种平面的特点。解释了常见字符编码方案如UTF-8和UTF-16的区别。介绍了字符串的定义、不可变性以及常见操作方法,并提供了字符串常用API的详细说明。

C# .NET 6 使用WorkFlow Core 创建工作审批流

https://www.cnblogs.com/BFMC/p/18233359

工作流思想在60年代提出,80年代出现首批成功系统。90年代后至今许多版本出现,其主旨是提高工作效率。本文介绍如何通过工作流框架Workflow Core实现工作流程,包括安装包、创建项目、添加步骤和配置启动。举例展示了具体代码实现步骤。

.NET C# 程序自动更新组件

https://www.cnblogs.com/Bob-luo/p/18231510

博主实现了一个轻量级独立自动更新组件,适用于WPF/Winform/Windows服务。系统架构包括版本检查、下载更新、解压缩与安装以及重启应用。文章详细介绍了在WinForms应用中创建自动更新程序的步骤,包括解析命令行参数、关闭当前运行程序、下载更新包、解压更新包和重启新版本程序。提供了相应的代码示例以实现这些功能。

C#/.NET/.NET Core优秀项目和框架2024年5月简报

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

这篇文章定期分享C#/.NET/.NET Core优秀项目和框架,介绍了每个项目的特点、使用方式和源码地址。文章涵盖多个开源项目,如Fluent UI Blazor、Z.ExtensionMethods、Mapsui等,帮助开发者快速找到合适的开发工具。

分享下最近基于Avalonia UI和MAUI写跨平台时间管理工具的体验

https://www.cnblogs.com/hoyho/p/18229682

作者开始寻找支持自定义时间的时间管理软件,最终决定自己开发,并分享了开发过程。用C#和XAML编写,先选用MAUI框架,后转用Avalonia。主要遇到MAUI在macOS下的bug和局限。最终实现了一个能跨平台、满足自身需求的简易计时器。

微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor

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

本文介绍了Fluent UI Blazor,这是一个开源且免费的Blazor UI组件库。该库基于Blazor框架,旨在帮助开发人员构建现代化的Web应用程序。Blazor使用.NET框架和C#,允许开发者以C#编写单页应用和Web服务。文中还提供了项目源代码和在线文档链接。DotNetGuide技术社区为.NET开发者提供全面的学习资料和交流平台。

C#.Net筑基-深入解密小数内部存储的秘密

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

本文解释了为什么0.1 + 0.2 不等于0.3,并介绍C#中的数值类型及其存储机制。文中详细讨论了浮点数的存储方式,以及其遵循的IEEE754标准。文章还介绍了decimal类型的特点,并强调其在金钱计算中的优势。通过多个代码示例,文章描述了C#中处理数值类型的方法。

零基础写框架(2):故障排查和日志基础

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

本文介绍了.NET开发框架的设计,详细讲解了故障排查和日志记录的方法。作者总结了常用的IDE调试和.NET CLI工具的使用,如dotnet-dump和dotnet-trace。此外,还提到了System.Diagnostics接口和Microsoft.Diagnostics接口在性能探测中的重要性。最后,介绍了Microsoft.Extensions.Logging.Abstractions日志抽象接口及其常见实现方式,包括Serilog框架的使用方法。针对生产环境,文中建议使用Fluentd、Logstash和Elasticsearch等工具进行日志收集和可视化查询。

【WPF】Dispatcher 与消息循环

https://www.cnblogs.com/tcjiaan/p/18233254

本文讨论如何在新线程上创建并显示WPF窗口,强调UI线程必须是STA模式,跨线程访问UI对象需要进行封送。例子通过Button点击事件启动新线程创建新窗口,但没有消息循环导致异常。解决方法是使用Dispatcher类创建消息循环,确保线程能处理事件并保持窗口运行。dispatcher通过投放“帧”启动消息循环,关键方法是PushFrame,内部通过PushFrameImpl实现。

零基础写框架:从零设计一个模块化和自动服务注册框架

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

本文介绍了一个名为Maomi.Core的模块化开发框架,适用于ASP.NET Core、控制台和WPF项目。文中详细说明了框架的模块化和自动服务注册功能,展示了如何创建和配置模块类、依赖注入以及在程序启动时初始化模块。框架通过实现IModule接口,使得服务可以自动注册并简化代码复杂度。

还在拼冗长的WhereIf吗?100行代码解放这个操作

https://www.cnblogs.com/fanshaoO/p/18233291

本文讨论了在数据过滤时如何简化代码,首先介绍了普通方法和改进的WhereIf方法,然后提出一种更高级的WhereObj方法。WhereObj通过自定义CompareAttribute和动态表达式库DynamicExpresso.Core实现,自动解析对象属性并进行数据过滤。这样可以清晰、优雅地处理复杂的查询条件。

Asp .Net Core 系列:详解鉴权(身份验证)以及实现 Cookie、JWT、自定义三种鉴权 (含源码解析)

https://www.cnblogs.com/vic-tory/p/18237065

鉴权是验证用户身份的过程,确认用户提供的凭据是否有效。在.NET Core中,鉴权由IAuthenticationService管理,通过注册的处理程序实现。传统鉴权依赖密码,现代则多使用数字签名认证。鉴权是授权的前提。基于Cookie的方式常见于.NET Core中,开发者可通过配置不同选项来实现。CookieAuthenticationHandler用于处理逻辑,开发者可设定Cookie的特性和事件来定制鉴权行为。

.NET程序对接 OpenTelemetry logs

https://www.cnblogs.com/kklldog/p/18227932/opentelemetry-logs

OpenTelemetry 是 CNCF 托管的开源项目,提供全面的观察性工具,包括度量、日志和追踪。它的主要优点是广泛的兼容性和灵活性,支持多种编程语言和后端服务。OpenTelemetry 定义了 Otlp 协议,减少了与特定三方组件的深度绑定,提高了兼容性。本文演示了在 .NET 项目中如何使用 OpenTelemetry 对接 Seq 进行日志记录,展示了配置和代码示例。

OpenAI正式发布第一个官方.NET版本库的测试版

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

微软与OpenAI合作发布了官方OpenAI .NET库,目前为2.0.0-beta.3版本。该库支持.NET 6和.NET Standard 2.0,并包含对最新OpenAI功能和模型如GPT-4o的支持。该库的发布旨在提高.NET开发人员的开发体验,与其他编程语言库保持一致。官方库在GitHub上进行开发和支持,未来几个月将继续收集反馈改进库并发布稳定版本。此库补充了Python和TypeScript/JavaScript的官方库,社区开发人员也积极参与。

记一次 .NET某质量检测中心系统 崩溃分析

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

本文讨论了一个.NET程序在Windows操作系统上因栈溢出导致IIS崩溃的案例。作者利用WinDbg分析崩溃的原因,发现问题出在iiscore.dll组件。详细列出了崩溃相关的错误信息和调用栈,并逐步分析栈溢出的根源。

Advanced .Net Debugging 9:平台互用性

https://www.cnblogs.com/PatrickLiu/p/18190864

这篇文章是《Advanced .Net Debugging》系列的第九篇,讨论了调试中互用性的问题,包括COM互用性和平台调用服务。文章详细描述了如何在NET 8.0环境中使用Windbg Preview和NTSD工具进行调试,并展示了一些示例代码。作者推荐使用Windbg Preview调试工具,强调其便利性和高效性。文章目录清晰,内容涵盖调试过程中的各种情况,并提供了源码部分供读者参考。

.NET 中使用 OpenTelemetry Traces 追踪应用程序

https://www.cnblogs.com/kklldog/p/18233768/opentelemetry-traces

文章讨论了在微服务和云原生环境中如何使用OpenTelemetry进行分布式追踪,提供了理论解释和代码示例。OpenTelemetry Traces通过记录和描述系统中操作的生命周期来实现调用链的可视化,提升监控和问题排查能力。文章通过一个用户登录接口演示了追踪HTTP请求和数据库操作的实现过程,涉及的技术包括ASP.NET Core、Npgsql和OpenTelemetry扩展。这些追踪数据可以通过指定的接收端进行导出和分析。

C#异步编程是怎么回事(番外)

https://www.cnblogs.com/ggtc/p/18229724

本文通过示例演示多线程与异步编程。示例程序让用户输入命令,主线程以“一发即忘”模式调用异步方法,输出带有线程ID的结果。分析了主线程与异步线程的上下文流转,并通过VS调试工具监视线程栈变化。解释了代码阻塞与线程阻塞两种现象。代码阻塞时,线程可能继续执行其他代码或在同步方法中阻塞。

一款.NET开源、免费、实用的多功能原神工具箱(改善桌面端玩家的游戏体验)

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

文章介绍了一款开源、免费且实用的.NET多功能原神工具箱——胡桃工具箱。该工具箱旨在改善桌面端玩家的游戏体验,支持多种语言且无需移动设备。介绍了系统要求、工具箱功能、下载地址及源码地址,并呼吁大家关注该项目。文末还提到DotNetGuide技术社区,提供学习资源、技术分享和咨询的平台。

.NET集成DeveloperSharp实现"高效分页"&"无主键分页"

https://www.cnblogs.com/digital-college/p/18227982

本文介绍了数据分页的两种解决方案:一种是读取数据库数据到内存后分页,另一种是在数据库中直接分页再输出数据。文章详细讲解了两种方案的实现方法和优劣,尤其侧重于第一种方案的优点和页面返回对象的属性。文章还通过NuGet引入包以及代码示例展示了使用方法。

记一次 .NET某工控视觉自动化系统 卡死分析

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

本文通过WinDbg调试器分析一位学员在.NET视觉自动化开发中遇到的程序卡死问题,重点解析了调用栈及相关模块。作者借助第三方库PylonBase并深入解释了NtWaitForMultipleObjects方法的机制,从线程栈追溯问题根源,提供了详细的调试过程和思路。

赛博斗地主——使用大语言模型扮演Agent智能体玩牌类游戏。

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

文章讨论了使用大模型智能体进行斗地主游戏的设计和实现。作者选择了国产大模型通义千问作为基础,通过阿里云平台获取接口。游戏设计包括随机发牌、确定地主、轮流出牌等。主要技术点在于C#编程实现的出牌合法性检测,包括手牌检测、牌型判断和竞赛逻辑。提供了核心代码段展示出牌类型的检测和玩牌的主要逻辑。

.NET Core Configuration 配置项知识点一网打尽!

https://www.cnblogs.com/goodluckily/p/18230478

文章示范了如何在控制台项目中使用多种配置提供程序,包括内存字典、命令行参数、环境变量和文件配置。这些示例展示通过不同方式添加和读取配置信息。

win10离线安装.net3.5失败的解决方案

https://www.cnblogs.com/magicMaQaQ/p/18230370

这篇文章介绍了离线安装.NET 3.5的方法,首先关闭防火墙及杀毒软件,通过系统版本查询并下载对应的Windows 10系统镜像文件。解压后找到sxs文件夹,利用dism工具进行离线安装。总结强调版本匹配的重要性。

.NET借助虚拟网卡实现一个简单异地组网工具

https://www.cnblogs.com/dotnet-org-cn/p/18239999

作者考虑到常用的远程连接工具不便,研究了基于tun2socks实现的自制工具,最终基于tun/tap手动实现了一个简易的版本,分享了核心代码。

内存优化:Boxing

https://www.cnblogs.com/xiaolipro/p/18235447

这篇文章主要谈论内存分析,特别是通过JetBrains的工具dotMemory来优化.NET应用程序的内存流量和性能问题。它详细介绍了装箱的定义、问题及其解决办法,并举例说明了如何使用dotMemory和Heap Allocations Viewer插件进行装箱检测和修复。此外,文章还探讨了动态集合调整大小的问题及其优化方法。通过这些最佳实践,该系列文章旨在帮助开发者提高.NET应用程序的内存使用效率,提高性能。

【译】通过出色的开发人员体验,将乐趣最大化,将痛苦最小化

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

开发者通过技术创新引领未来,但技术债务和上下文切换影响效率。Visual Studio 17.10 和 GitHub Copilot for Azure 提供更好的编码体验。.NET Aspire 支持云原生开发。使用智能应用实现个性化用户体验,新的 AI Toolkit for Visual Studio Code 使开发更简便。Azure App Platform 支持智能应用的构建和运行,并提供新的 API 管理功能。

IceRPC之依赖注入>快乐的RPC

https://www.cnblogs.com/xlgwr/p/18238532

本文介绍了IceRPC如何通过依赖注入(DI)构建调度管道,包括DI作为可选功能的设计原则、相关API的使用以及在Microsoft的DI容器中构建调度管道的具体操作。讨论了传统与DI构建的调度管道区别,说明了中间件和调度程序的通信方式和生命周期管理。

探索Semantic Plugins:开启大模型的技能之门

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

本章详细介绍了如何使用Semantic Kernel的插件,通过结合自定义和预定义的插件简化应用向智能化转型。介绍了插件的定义,强调插件通过语义方式和API交互,增强了功能。详细说明了Semantic Plugins和Native Plugins的定义方法,包括Prompts和config.json文件的结构和配置。

SemanticKernel:添加插件

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

Semantic Kernel是一个SDK,用于将大型语言模型集成到C#、Python和Java等编程语言中。为了解决大语言模型功能受限的问题,可以通过插件扩展其功能。文章展示了如何创建一个时间插件并在Kernel中使用,从而让AI回答更准确。

探索Native Plugins:开启大模型的技能之门

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

本文介绍了Semantic Kernel中Native Plugins原生函数插件的使用和定义。作者详细讲解了如何通过函数定义插件并给出具体的代码示例,包括根据类型创建插件、通过KernelFunction和Description特性定义函数插件、以及插件的注册和调用步骤。文中还介绍了通过对象创建插件的方法,并为实战应用提供了依赖注入的示例。该内容对于使用Semantic Kernel进行插件开发和提升OpenAI模型能力具有指导意义。

使用Wesky.Net.Opentools库,一行代码实现实体类类型转换为Json格式字符串

https://www.cnblogs.com/weskynet/p/18233902

文章介绍了Wesky.Net.OpenTools包1.0.10及以上版本的使用方法,尤其是实体类JSON模式生成器的核心代码。通过OpenJson属性,可以自定义实体类在JSON中的映射方式,支持多层嵌套和集合。文章提供了实际代码示例,并指出该功能可用于webapi接口快速测试和其他应用场景。

使用Wesky.Net.Opentools库,一行代码实现自动解析实体类summary注释信息(可用于数据实体文档的快速实现)

https://www.cnblogs.com/weskynet/p/18236082

通过引用Wesky.Net.OpenTools包,可以为实体类添加注释,生成Json数据字符串或实体类说明文档。反射解析获取类型属性及注释,生成演示文档。代码示例展示了如何生成和提取XML文档的属性摘要信息,及获取XML文档路径的方式。

gRPC入门学习之旅(十)

https://www.cnblogs.com/chillsrc/p/18238421

文章介绍了如何在Visual Studio中使用依赖注入方式调用gRPC服务,包括创建类、编写代码、添加控件、注入服务、启动和运行项目等步骤。

主题

MSTest 3.4 现已推出,提供 WinUI 支持和新分析器 - .NET 博客

https://devblogs.microsoft.com/dotnet/introducing-mstest-34/

MSTest 3.4 已发布。

此版本包括对 MSTest.Analyzer 的各种改进和错误修复、对 STA 线程的支持、对固定方法的超时支持、对 MSTest.Sdk 中的 Playwright 和 Aspire 的支持以及对 MSTest.Runner 中的 WinUI 的支持。

宣布推出 .NET 官方 OpenAI 库 - .NET 博客

https://devblogs.microsoft.com/dotnet/openai-dotnet-library/

OpenAI官方客户端第一个测试版2.0.0-beta.1已经发布。

该库涵盖了 OpenAI 的大部分 API,包括对 GPT-4o 和 IAsyncEnumerable 等的支持,并将继续通过最新功能进行改进。

文章还提到了之前的 OpenAI v1.x NuGet 包和其他包社区。

发布 v4.0.0 ·serilog/serilog

https://github.com/serilog/serilog/releases/tag/v4.0.0

Serilog 4.0.0 已发布。

此版本包括对轻松实现批处理的支持,以及实验性点名称捕获支持。

此外,从该版本开始,固定为 2.0.0.0 的程序集版本现在与包版本匹配,因此在 .NET Framework 中使用它时可能需要程序集重定向。

版本 1.6 实验 (1.6.0-experimental1) - Windows 应用 SDK 最新实验通道发行说明

https://learn.microsoft.com/ja-jp/windows/apps/windows-app-sdk/experimental-channel#version-16-experimental-160-experimental1

Windows App SDK 1.6.0-experimental1 已发布。

此版本增加了对 NativeAOT 的支持、对 TabView 的改进、新的 TitleBar 控件以及其他一些改进和新的 API。

  • 发布Windows App SDK 1.6-experimental1·microsoft/WindowsAppSDK

介绍改进的 Visual Studio 资源浏览器 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/introducing-the-revamped-visual-studio-resource-explorer/

隆重推出 Visual Studio 2022 17.11 Preview 2 中引入的新资源浏览器。

新的资源浏览器支持解决方案范围的视图、深色模式以及搜索和过滤器等操作,使资源的使用更加轻松。

目前,不支持以 CSV 格式导入和导出。

文章、幻灯片等

关于主构造函数的思考:3 个优点和 5 个缺点

https://andrewlock.net/thoughts-about-primary-constructors-3-pros-and-5-cons/

介绍 C# 12 主构造函数的三个优点和五个陷阱和微妙之处。

ASP.NET MVC Core 中 DI 到 ActionFilterAttribute 的三种方法(+在操作过滤器中使用 HttpClient) - Qiita

https://qiita.com/jun1s/items/c000763f31e6a42bdd3b

如何在 ASP.NET Core MVC 中通过操作筛选器从 DI 容器中检索和使用服务。介绍“ServiceFilter”、“TypeFilter”和“IFilterFactory”。

改造我们的 Azure 市场图像 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/giving-our-visual-studio-azure-marketplace-images-a-makeover/

关于添加新的 Visual Studio 安装映像和弃用 Azure 市场中的产品/服务。

如何在 .NET 8 中从凭据管理器读取/写入

https://dev.to/issamboutissant/how-to-readwrite-from-credential-manager-in-net-8-1ag

了解如何读写 Windows 权利管理器。本文介绍了如何使用 Meziantou.Framework.Win32 包进行读写。

Rider 2024.2 路线图 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/06/05/rider-2024-2-roadmap/

Rider 2024.2 路线图。

  • UI
  • 用户体验
    • 改进的导航栏- 调试器
    • 任务视图和任务依赖图
  • 游戏开发
    • 改进了使用 Unity 的 IL2CPP 后端时的调试、改进的集合可视化工具和着色器变体
    • 虚幻引擎调试改进
    • GDScript 支持,包括 Godot 调试
  • 框架和技术
  • 全行代码完成

在 EF Core 8 中映射数组的初学者指南 - .NET 博客

https://devblogs.microsoft.com/dotnet/array-mapping-in-ef-core-8/

Entiy Framework Core 8 中数组映射的说明。

本文介绍了 PostgreSQL 数组类型、在其他数据库中使用 JSON 的数组、类型化数组以及它们的扩展方式。

亲身体验 Visual Studio 和 Azure:今年 8 月在 Microsoft 总部现场直播 - Visual Studio 博客!

https://devblogs.microsoft.com/visualstudio/get-hands-on-with-visual-studio-and-azure-live-at-microsoft-hq-this-august/

Visual Studio LIVE! 活动将于 8 月 5 日至 9 日在微软总部举行。

本文概述了 Visual Studio LIVE! 活动并提供了有关特别早鸟折扣的信息。

使用 SharpShell 在 .NET 8 中创建 Shell 扩展

https://dev.to/issamboutissantante/creating-shell-extensions-in-net-8-with-sharpshell-2ioe

如何使用 .NET 8 和“SharpShell”实现上下文菜单的 shell 扩展。

有关在 .NET 8 中的 Blazor 中使用 ErrorBoundary 进行错误处理的注意事项

https://zenn.dev/microsoft/articles/aspnetcore-blazor-dotnet8-errorboundary

如何在 .NET 8 中使用 Blazor 中的 ErrorBoundary 处理错误以及需要注意的事项。

状态机、电灯开关以及无状态和 .NET 8 的太空旅行

https://khalidabuhakmeh.com/state-machines-light-switches-and-space-travel-with-stateless-and-dotnet-8

介绍如何使用“Stateless”实现状态机。文章还提到了使用 UmlDotGraph 输出图形等内容。

了解 C# 中的 Exception.HResult 属性

https://blog.elmah.io/understanding-the-exception-hresult-property-in-c/

Exception 的 HResult 属性的说明。

本文解释了 HResult 的作用、使用什么规则来设置其值以及如何读取和研究它。

Microsoft Photos:从 UWP 迁移到 Windows App SDK

https://blogs.windows.com/windowsdeveloper/2024/06/03/microsoft-photos-migration-from-uwp-to-windows-app-sdk/

将 Windows Photo 应用从 UWP 迁移到 Windows App SDK 的案例研究。

文章解释了流程模型的变化、使用 WebView2 的能力、改进的可维护性以及从 ASTA 切换到 STA 和 AutoPlay 等技术挑战。

使用 C# 和 ONNX 运行时生成 AI (DirectML) 在本地运行 Phi-3 - Shibayan 其他

https://blog.shibayan.jp/entry/20240604/1717465930

说明如何使用 ONNX 运行时生成 AI (DirectML) 在本地环境中运行 Phi-3 模型。

为什么应该批量消息处理以及如何使用 .NET AsyncEnumerable - Event-Driven.io

https://event-driven.io/en/batching_async_enumerable/

如何在使用 AsyncEnumerable 时批量处理消息。

本文介绍了如何使用Open.ChannelExtensions库创建基于Channel的AsyncEnumerable。

原始与强类型字典键(feat.frozen collections 和 BenchmarkDotNet)

https://blog.codingmilitia.com/2024/04/13/primitive-vs-strongly-typed-dictionary-keys-feat-frozen-collections-and-benchmarkdotnet/

.NET 中的弱类型值和强类型值

https://yoh.dev/weakly-and-strongly-typed-values-in-dotnet

关于使用原语(弱类型)和包装它们的强类型的 FrozenDictionary 的参考性能。

关于发布 COM(C#、Excel) - Qiita

https://qiita.com/nnkanegon/items/1715b0da782e3dd713c9了解释放 COM 对象的问题以及如何调查因错过释放而导致的泄漏。

我只想要 Microsoft IME 的转换候选者 - Qiita

https://qiita.com/Fom/items/d9e421bae516be85d675

简要介绍通过 IME 获取转换候选项的库以及如何使用它。

使用别名任何类型重构代码 - .NET 博客

https://devblogs.microsoft.com/dotnet/refactor-your-code-using-alias-any-type/

文章:在 C# 12 中使用任何类型的别名进行重构。

在 .NET Aspire 项目中使用 Keycloak

https://nikiforovall.github.io/dotnet/keycloak/2024/06/02/aspire-support-for-keycloak.html

让我们用.NET搭建一个Playwright测试环境

https://zenn.dev/zead/articles/vscode_playwright

关于使用 Playwright 构建浏览器测试环境。

版权声明

  • 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET
  • 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周刊-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。

格式如下:

  • 10~50字左右的标题
  • 对应文章或项目网址访问链接
  • 200字以内的简介,如果太长会影响阅读体验

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

.NET性能优化交流群

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
  • .NET框架底层原理的实现,如垃圾回收器、JIT等等
  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。

如果提示已经达到200人,可以加我微信,我拉你进群: ls1075

另外也创建了QQ群,群号: 687779078,欢迎大家加入。

image-20230703203249615

本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/703180.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

make和Cmake都有什么区别?(内附使用详解)

Make和Cmake make和Cmake的区别: 角色和功能: make: 是一个构建工具,它的任务是读取 Makefile 文件,并基于这些文件中的指令执行具体的构建操作。Makefile 文件包含了如何构建项目的规则,make 负责解析这些规则并执行必要的命令来…

webshell获取总结(cms获取方法、非cms获取方法、中间件拿Webshell方法)

目录 前期准备: 1、cookices靶场网站搭建: 2、dedecms靶场环境搭建: 获取Webshell方法总结: 一、CMS获取Webshell方法 二、非CMS获取Webshell方法 1、数据库备份获取Webshell 例如: 2、抓包上传获取Webshell 3、…

什么是APS计划排程? 企业产能与效率提升的智能引擎

快节奏和愈发激烈的现代工业环境中,如何提升生产效率、降低生产成本、最大化的满足订单交期、实现企业的降本增效,已成为众多企业关注的焦点。而APS系统——作为高级生产计划和调度系统的代表,正以其卓越的生产过程实时监控、产品加工过程优化…

[CAN] 创建解析CAN报文DBC文件教程

👉本教程需要先安装CANdb软件,[CAN] DBC数据库编辑器的下载与安装 🙋前言 DBC(全称为Database CAN),是用于描述单个CAN网络中各逻辑节点的信息。 DBC是汽车ECU(Electronic Control Unit,电子控制单元&…

Java面试八股之构造方法有哪些特性

构造方法有哪些特性 方法名与类名相同:构造方法的名称必须与它所在的类名称完全相同,包括大小写。 无返回类型:构造方法没有返回类型声明,连void也不需要。虽然没有明确的返回类型,但它隐式地返回了新创建的实例的引…

基于Java的诊所医院管理系统,springboot+html,MySQL数据库,用户+医生+管理员三种身份,完美运行,有一万一千字论文

演示视频 基本介绍 基于Java的诊所医院管理系统,springboothtml,MySQL数据库,用户医生管理员三种身份,完美运行,有一万一千字论文。 用户:个人信息管理、预约医生、查看病例、查看公告、充值、支付费用...…

后端开发面经系列 -- 小鹏汽车一面面经

小鹏汽车一面面经 公众号:阿Q技术站 来源:职言详情页 (maimai.cn) 文章目录 小鹏汽车一面面经1、String类型为什么不可变?1. 安全性2. 缓存和性能优化3. 哈希码缓存4. 类设计和接口5. 简单性和可读性 2、在浏览器中输入url地址到显示主页的过…

一文搞懂flex布局

上学读书的时候,学习flex布局,更多停留在理论知识层面。近来,经过工作实践,发现自己对flex布局的理解更加深入,运用起来更加熟练,也越发能感受到flex布局的强大灵活性,特来总结一波。若有错误之…

Linux部署mysql8.0.28数据库

目录 1.基础准备 (1)首先去官网下载二进制安装包 (2)下载好之后上传至服务器 (3)禁用关闭selinux和防火墙 (4)挂载光盘搭建本地yum仓库 2.解压到指定目录 3.检查系统是否安装mariadb 4.安装MySQL数据库 (1)进入MySQL目录 看到‘完毕’就说面mysql已经安装成功了 4.初…

2024-6-12-IXI(mat)应用到SR的代码解读

数据集 Download and decompress data from the link 百度网盘 请输入提取码 Password: qrlt Transform .h5 format to .mat format "python convertH5tomat.py --data_dir XXX/T2Net/h5 论文:Task Transformer Network for Joint MRI Reconstruction and Super-Resoluti…

大数据概论总结

三次信息化浪潮 : 信息技术的支撑 : 存储设备容量不断增加 CPU的处理能力不断提高 网络带宽不断增加 数据产生方式的变革促成大数据时代的来临 运营式系统阶段用户原创内容感知式系统阶段 大数据发展历程 : 分为三个阶段 : 大数据的概念 : 1 . 数据量大 : 根据IDC作出…

量产导入 | Tessent Scan 和 ATPG

目标 Upon completion of this module, you should be able to: Use Tessent Scan to insert full scan. Write a scan-inserted netlist file. Write ATPG setup files. lnsert test logic. Create, configure, and balance scan chains. Edit a scan chain order file and …

PyCharm2018图文安装教程、附录软件下载

软件简介 PyCharm 2018是一款IDE集成开发环境,主要功能包括代码调试、语法高亮、智能提示、单元测试、版本控制等,支持Python 3.7,改进search everywhere功能等,可以让用户快速的开发程序。 软件下载 复制链接浏览器打开 https…

Java基础面试重点-1

0. 符号: *:记忆模糊,验证后特别标注的知识点。 &:容易忘记知识点。 *:重要的知识点。 1. 简述一下Java面向对象的基本特征(四个),以及你自己的应用? 抽象&#…

GStreamer安装——Android

Android安装 支持所有从2.3.1Gingerbread开始的版本 先决条件 开发机器是您开发Android应用程序的地方,然后您将其部署在目标机器上,目标机器显然应该是Android设备。 开发机器可以是Linux、Mac OS X或Windows,并且需要安装: 最…

私有云数据库特征

私有云数据库具有以下几个主要特征: 控制和安全: 数据控制:组织对数据有完全的控制权,可以根据需要设置访问权限和安全策略。安全性:私有云数据库通常部署在组织内部的数据中心,利用内部网络&#xff0c…

爆款AI工具大盘点:最强文本、视频、音乐生成AI,适用岗位全解析!

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Linux部署项目

手动部署 1.在IDEA写一个有关springboot项目 在windows客户端可以通过localhost:8080/hello 访问 2.用packge 命令将该springboot项目打包 并在target目录下找到打包的jar包 3.上传到linux上 个人习惯在usr/local/app 下上传该项目 创建切换到app目录下 mkdir /usr/local/ap…

互联网医院系统源码的创新应用:预约挂号小程序开发实战

预约挂号小程序作为互联网医院系统的创新应用,更加贴近用户需求,实现了预约挂号的便捷化和智能化。本篇文章,笔者将带领读者进入预约挂号小程序开发的实战过程,探索互联网医院系统源码在小程序开发中的创新应用。 一、互联网医院系…

UML相关1

汽车租赁系统中的用例图简述(10分) 本系统根据功能可以分为三个用例图: 客户用例图:主要描述客户注册、登录、找回密码、查询车辆信息(包括所有车辆信息、已借车辆信息、租赁历史信息)、修改个人信息、网上预订车辆、电话预定车…