.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 最新实验通道发行说明
Windows App SDK 1.6.0-experimental1 已发布。
此版本增加了对 NativeAOT 的支持、对 TabView 的改进、新的 TitleBar 控件以及其他一些改进和新的 API。
介绍改进的 Visual Studio 资源浏览器 - Visual Studio 博客
隆重推出 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 博客
关于添加新的 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 博客!
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 的太空旅行
介绍如何使用“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
将 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)
.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,欢迎大家加入。
.NET周刊【6月第2期 2024-06-09】的更多相关文章
- .NET周报【10月第3期 2022-10-25】
国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...
- .NET周报【10月第1期 2022-10-11】
本周精选 继C#实现await/async无栈协程几年后,davidwrighton实现了.NET绿色线程(有栈协程)的原型 https://github.com/dotnet/runtimelab/ ...
- .NET周报【10月第2期 2022-10-17】
主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...
- .NET周报【11月第1期 2022-11-07】
国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...
- .NET周报【11月第2期 2022-11-15】
国内文章 统一的开发平台.NET 7正式发布 https://www.cnblogs.com/shanyou/archive/2022/11/09/16871945.html 在 2020 年规划的. ...
- .NET周报【11月第3期 2022-11-22】
国内文章 .NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了! https://mp.weixin.qq.com/s/4p89hhBPw6qv-0OB_T_TOg 目光看过来 ...
- .NET周报【11月第4期 2022-11-30】
国内文章 .NET 7 的 AOT 到底能不能扛反编译? https://www.cnblogs.com/huangxincheng/p/16917197.html 在B站,公众号上发了一篇 AOT ...
- .NET周报【12月第1期 2022-12-08】
国内文章 CAP 7.0 版本发布通告 - 支持延迟消息,性能炸了? https://www.cnblogs.com/savorboard/p/cap-7-0.html) 今天,我们很高兴宣布 CAP ...
- .NET周报【12月第2期 2022-12-15】
国内文章 九哥聊Kestrel网络编程第一章:开发一个Redis服务器 https://mp.weixin.qq.com/s/HJYnBE-7wbvkAYHxQaq3eQ 我和拥有多个.NET 千星开 ...
- .NET周报【12月第3期 2022-12-23】
由于众所周知的原因,大佬们纷纷加入羊群,笔者也未能幸免,体验下来这绝对不是普通感冒的症状,身体不适,熬了几天,所以本周更新比较晚:另外精力有限,对于国际板块只有链接没有简介,十分抱歉! 在这个艰难时刻 ...
随机推荐
- 【ASPLOS 2022】机器学习访存密集计算编译优化框架AStitch,大幅提升任务执行效率
简介: 近日,关于机器学习访存密集计算编译优化框架的论文<AStitch: Enabling A New Multi-Dimensional Optimization Space for Mem ...
- iLogtail使用入门-K8S环境日志采集到SLS
简介:iLogtail是阿里云中简单日志服务又名"SLS"的采集部分. 它用于收集遥测数据,例如日志.跟踪和指标,目前已经正式开源(https://github.com/alib ...
- dotnet 7 已知问题 WPF 的 TreeView 开启虚拟化之后只显示首项
本文记录 WPF 在 dotnet 7 的一个已知问题,此问题当前已修复,只需更新 SDK 或运行时即可.使用 TreeView 在开启虚拟化之后只显示首项,其他项不显示.本文将告诉大家此问题的原因和 ...
- dotnet 6 通过 DOTNET_ROOT 让调起的应用的进程拿到共享的运行时文件夹
我的应用是独立发布的,在用户的设备上不需要额外去安装 .NET 运行时.但是我的应用有一个需求是下载另一个应用作为插件,由本应用调起插件进程.本文告诉大家如何解决调用插件的进程时,赋值给插件进程运行时 ...
- 2019-4-29-Roslyn-将这个文件放在你的项目文件夹,无论哪个控制台项目都会输出林德熙是逗比...
title author date CreateTime categories Roslyn 将这个文件放在你的项目文件夹,无论哪个控制台项目都会输出林德熙是逗比 lindexi 2019-4-29 ...
- vue通过input选取图片,jq的ajax向服务器上传img
<template> <div class=""> <!-- 选择后预览 --> <img v-if="im ...
- Photoshop AI 令人惊叹的生成式填充
原文地址:Adobe Photoshop's Amazing New Generative Fill | by Paul DelSignore | The Generat | May, 2023 | ...
- Hive中的FileFormat、RowFormat和SerDe总结
Hive如何读写数据? 我们知道,hive表的数据是存储在hdfs文件系统中的.那么Hive是如何将hdfs上的数据文件,映射成一张张表呢,今天就来理清楚这个问题. 官方文档中对于Hive读数据的流程 ...
- HEOI2024省选游记
day 0 上午 没让不跑操的同学帮忙带着包 所以就直接背着跑的操,相当难受 吃完早饭就拿手机来机房了 不得不说看得出来 huge 这届确实打算换一种教学思路 以来就先强调了一堆意料之外的东西 包括但 ...
- JAVA基础-流程控制、字符串
一.java基础 1.java主类结构 package com.study.again001; 包名public class helloword { 类名 static String s1 = &qu ...