.NET周刊【2月第3期 2024-02-25】
国内文章
4.1k Star!全面的C#/.NET/.NET Core学习、工作、面试指南
https://www.cnblogs.com/Can-daydayup/p/18027117
DotNetGuide是一个为.NET开发者建立的技术社区和知识库。其中包含.NET相关的学习资料、工作心得、面试指南、技术文章、项目框架和常见面试题等,目的是帮助初学者和.NET开发者提升技能。社区鼓励开发者们分享技术经验,问题解决方案,并提供了交流平台。社区贡献受鼓励,可以通过GitHub Issues提建议或投稿。此外,它还推荐优秀的学习课程、编程工具、AI辅助编程工具、在线代码编辑工具、源码查询和多个相关的Awesome系列收集清单。
编写高效的代码,你应该了解Array、Memory、ReadOnlySequence . . .
https://www.cnblogs.com/artech/p/18019333/array_memory_sequence
针对缓冲区编程要正确高效地进行读写操作,需避免频繁地创建字节数组,减少GC压力。本文深入分析了Array
、ArraySegment
、Span<T>
、Memory<T>
等类型的内存映射、差异以及适用场景,详解了与内存管理相关的MemoryManager<T>
、ReadOnlySequence<T>
的使用和特性,展示了创建和高效读取多段式ReadOnlySequence<T>
的方法。通过这些类型,可以更好地在托管和非托管内存之间进行操作,提升程序性能。
使用 .NET 8.0 和 OpenGL 创建一个简易的渲染器
https://www.cnblogs.com/xymfblogs/p/18021497
作者热衷于三维渲染开发,通过《Unity Shader入门精要》书籍自学,并提出了模仿Unity Shader开发个人渲染器的想法。介绍了渲染器开发必备的技术点,包括线性代数、图形学基础、图形库API、编程基础。项目使用了多个Silk.NET系列库,搭建了完整的渲染器框架,包含了上下文管理、Shader加载、渲染管线与状态维护、输入输出处理等,并将材质和Shader根据书籍章节进行分组,项目还提供了界面预览。作者已将项目源码分享在GitHub。
记一次 .NET某列控连锁系统 崩溃分析
https://www.cnblogs.com/huangxincheng/p/18025970
去年有朋友找作者帮忙分析他们系统偶发性崩溃问题。作者通过WinDbg工具分析发现,.NET程序因托管堆损坏导致崩溃,并确认了两个坏对象的存在。进一步研究,确定这些对象因MethodTable被损坏而出错,作者还用临近内存的数据排查问题,最后通过相关字段验证了堆的一致性。
C# 12 中新增的八大功能你都知道吗?
https://www.cnblogs.com/Can-daydayup/p/18020222
C# 12更新了八大新功能,包括主构造函数、集合表达式、内联数组、Lambda表达式中的可选参数、ref readonly参数、任何类型的别名、Experimental属性。文章提供了各功能的详细介绍和代码示例。推荐使用最新的Visual Studio 2022或.NET 8 SDK来尝试这些新特性。
关于代码性能优化的总结
https://www.cnblogs.com/Mr-Worlf/p/18020445
一位开发者在对大数据量的数据库操作中遇到性能问题。他建议使用数据库事务批量提交和流式处理的方式来优化性能。数据库事务批量提交通过foreach循环结合SqlTransaction处理数据。流式处理则使用C#的yield return关键字实现数据的即时处理而无需一次性加载全部到内存。这样可以有效地处理更大的数据量,提高程序运行效率。
基于HTTP2/3的流模式消息交换如何实现?
https://www.cnblogs.com/artech/p/18021662/streaming_messaging
本文通过实例演示在.NET Core中构建GRPC应用,实现了客户端和服务端的流式消息交换。文章首先演示了ASP.NET Core应用如何设置支持多种HTTP协议,并注册处理流式请求的路由。然后详细介绍了服务端如何读写流式请求/响应,并解释了客户端如何处理流式响应。程序示例展示了“双向流式”消息交换模式,并讨论了如何精准读取流中的消息。
开源:Taurus.DistributedLock 分布式锁框架,支持 .Net 和 .Net Core 双系列版本
https://www.cnblogs.com/cyq1162/p/18029306
Taurus.DistributedLock是专为.Net与.Net Core微服务框架推出的分布式锁组件,支持多种锁类型,包括Redis、MemCache、Database、Local、File。用户可以通过Nuget安装使用,并通过简单的配置与编码使用不同类型的锁,如文件锁、本地锁、数据库锁等。该组件也提供了锁的获取与释放方法。此分布式锁是从CYQ.Data框架中独立出来,并新增加了数据库类型的锁。详细使用方法可以参考提供的开源地址示例。
WinRT: 可能是 Windows 上最好用的 Native ABI 和远程调用方案
https://www.cnblogs.com/hez2010/p/18026102/intro-to-winrt-abi
这篇文章主要介绍了Windows中COM(Component Object Model)和WinRT的关系和原理。COM是一种面向对象的ABI,提供包括RPC调用在内的API服务,但是使用起来不便捷。文章细致阐述了COM的实现机制,接口定义、引用计数、接口查询和类型信息生成等过程,并提到了COM存在的问题,如类型定义依赖GUID而难以识别、注册需管理员权限、不支持异步等。通过介绍COM的内部/跨进程通信原理,说明了COM的高效和特性。文章同时点出,自Windows 8起,随着appx包的引入和WinRT的出现,COM的一些局限已得到克服。
我们在SqlSugar开发框架中,用到的一些设计模式
https://www.cnblogs.com/wuhuacong/p/18025300
《SqlSugar开发框架》中引入设计模式的目的是为了解决问题和方便代码重用,而非盲目追求使用。文中介绍了Winform和基于Web API访问方式的接口与实现分离原则,通过IOC容器和服务层的实现提高了数据访问的灵活性和业务需求适应性。同时,通过接口和基类的继承方式简化了重复代码,促进了多态性、代码重用及解耦。此外,简单工厂设计模式在创建对象时提供一致性接口,并分离了对象的创建与使用。文章还提到了为方便获取用户身份信息,定义了IApiUserSession接口。
.net core微服务之网关
https://www.cnblogs.com/AsprosL/p/18020704
本文介绍了四种网关技术:Apache APISIX、Kong、Ocelot 和 Janus,并提供了它们的文档和GitHub链接。然后,详细展示了一个使用 Docker 和 YAML 文件配置微服务的实例,其中包括了网络设置,以及MySQL、Redis和Nacos服务的详细容器配置。
c# 代码操作ftp服务器文件
https://www.cnblogs.com/INetIMVC/p/18025336
本文分享了一个用C#编写的可以操作FTP服务器的代码示例,包含了详细的基础类构造函数和其他方法使用说明。文章展示了如何使用FtpTest类与FTP服务器进行连接、上传文件夹、删除文件夹、查询文件信息和文件夹移动等操作,并在最后提供了项目的GitHub地址。
.NET 9 首个预览版发布:瞄准云原生和智能应用开发
https://www.cnblogs.com/Can-daydayup/p/18022134
.NET团队发布了.NET 9预览版及愿景,重点关注云原生与智能应用开发。.NET 9将优化云原生基础,促进在 Kubernetes 等基础架构中运行、使用托管数据库和缓存服务。Visual Studio 改善支持云平台、.NET Aspire 和 Azure 部署。将强化.NET开发人员构建智能应用的能力,与OpenAI和开源模型合作。同时,DotNetGuide社区为.NET开发者提供学习、交流和招聘平台。
.Net Core Entity Framework Core 的基础封装
https://www.cnblogs.com/INetIMVC/p/18027155
这篇技术文章介绍了C#中创建DBContext的方式,主要分享了DbContextFactory的实现,它可以在请求周期内创建并复用单个DbContext实例,实现数据库多租户功能。文章还对比了使用内置的AddDbContext方法和自定义DbContextFactory的不同之处,AddDbContext方法在ASP.NET Core DI容器中管理DbContext的生命周期提供简化配置,而DbContextFactory提供更多的创建和释放控制,有助于特殊场景下的使用,但增加了复杂性。文章建议在大多数情况下使用AddDbContext,由于其简化了配置且与ASP.NET Core框架紧密集成。
如何在C#中使用 Excel 动态函数生成依赖列表
https://www.cnblogs.com/powertoolsteam/p/18025792
本文介绍了使用葡萄城GcExcel组件在.NET环境下,如何创建Excel中的依赖列表或级联下拉列表。文中以具体的客户订单表为例,演示了初始化工作簿、获取工作表、利用UNIQUE函数生成客户名称唯一列表及创建主下拉列表等步骤,并展示了如何通过动态数组函数CHOOSECOLS和FILTER获取依赖OrderID列表,并填充至对应的下拉列表中。
AppBox快速开发框架(开源)开发流程介绍
https://www.cnblogs.com/BaiCai/p/18026244
低代码平台AppBox通过模型组合形式支持快速开发,适应业务变更,解决了执行效率、灵活性不足、缺乏后端及多端支持等问题。本文介绍如何搭建和使用AppBox进行客户信息管理应用的开发。步骤包括准备数据库、克隆仓库、编译发布项目、修改配置及执行初始化。进一步创建实体模型定义数据结构,创建服务模型提供业务逻辑,最后创建视图模型设计用户界面。
【XInput】游戏手柄模拟鼠标动作
https://www.cnblogs.com/tcjiaan/p/18019745
老周准备在过年时自己动手做一个由树莓派控制的机械臂,并计划使用游戏手柄来控制。他提出了使用XInput API来读取手柄数据的方法,并详细介绍了API函数的使用,以及如何通过XInput获取手柄的状态和按钮。他特别指出了XInput API不仅适用于XBox手柄,还可以用于结构类似的其他手柄,并对XInput API中的关键结构和宏定义进行了解释。
旁门左道:借助 HttpClientHandler 拦截请求,体验 Semantic Kernel 插件
https://www.cnblogs.com/dudu/p/18018718
作者尝试使用 Semantic Kernel 插件时初次失败后,采用了新的方法:创建了.NET 控制台项目并安装了必要的包。接着编写了轻量级插件 LightPlugin,利用 Stephen Toub 的技巧通过 DelegatingHandler 来拦截 HttpClient 请求,并模拟数据返回。作者还实现了一个 BackdoorHandler 用于输出请求内容,并测试了通过创建 Kernel 经历发送 prompt 请求到获取响应内容的整个流程。最后,BypassHandler 成功在控制台输出了模拟的 json 请求数据。
FastGateway 发布v0.0.0.5
https://www.cnblogs.com/hejiale010426/p/18031903
FastGateway发布了v0.0.0.5版本,修复了多项构建错误,修改了数据列表显示,更新了README文件,并添加了默认证书。它提供的服务包括登录授权、动态路由和证书管理、监控和分析、插件管理等,使用Asp.Net 8.0、Yarp、FreeSql、JWT和MiniApis等技术构建后端,使用reset-css、axios、semi、react-router-dom等构建前端。文章还提供了Docker和Docker-Compose的使用命令和配置,支持HTTP3,并描述了如何替换默认HTTPS证书。
Docker安装MS SQL Server并使用Navicat远程连接
https://www.cnblogs.com/Can-daydayup/p/18032421
微软SQL服务器是强大的企业级数据库系统,支持众多API和多操作系统。该文以Ubuntu为例介绍如何使用Docker镜像拉取和运行SQL Server 2022,重点提示了设置SQL Server密码的安全要求和Docker防火墙的开放端口配置等操作步骤,以确保容器的正确运行和外部访问。文章适于有一定基础的用户进行实操。
我在winform项目里使用“Windows I/O完成端口”的经验分享
https://www.cnblogs.com/datacool/p/18027003/CoolThearPool
本文介绍了Windows I/O完成端口和一个自称野生程序员通过自学理解并实现了一个基于I/O完成端口模型的线程池类CoreThreadPool。作者自述因看《Windows核心编程》书籍而有所启示,随后对线程池有了新的认识,并分享了线程池类的源码与实现,比如队列元素、线程池命令枚举、主线程以及如何启动线程池等核心内容,旨在帮助开发者更好地理解和使用I/O完成端口。
Office Online Server Windows Server 2016 部署
https://www.cnblogs.com/WinterSir/p/18006365
本文介绍了如何通过虚拟机搭建Office Online Server(OOS)测试环境,包括准备安装所需的软件、搭建域控服务器和OOS服务器、配置网络以及安装和设置OOS。详细说明了配置过程中的步骤,包括在域控服务器上安装Active Directory和.NET Framework 3.5,以及在OOS服务器上安装Web服务器角色、.NET Framework 4.5.2、Visual C++ Redistributable等组件,并进行了OOS的部署和启动服务场的配置。最后,介绍了如何预览OOS处理文档的效果。
Taurus.MVC WebMVC 入门开发教程1:框架下载环境配置与运行
https://www.cnblogs.com/cyq1162/p/18031047
为帮助新手理解和使用Taurus.Mvc进行Web应用开发,这篇文章作为新手入门系列教程的第一部分,主要讲述了如何下载、配置和运行Taurus.Mvc框架。文章详细介绍了两种引入项目的方式:通过下载源码和通过Nuget引用。同时,支持.Net和.Net Core两种环境,并提供了具体的配置指导,帮助新手进行项目的初始设置。
AIGC程序员效能提升之道
https://www.cnblogs.com/xiyuanMore/p/18024189
随着IT行业的兴旺,老杨在公司十年后体重上升三十斤,出现中年发福现象。最近,产品经理开始使用GPT生成需求,提高了工作效率,使得老杨也被迫开始用GPT写代码,极大提高了开发效率。长沙.NET技术社区将举办活动,邀请张吉贵专家分享《AIGC与助力研发效能提升的若干种技巧》,内容涉及AIGC与劳动生产力关系、周边生态、业务应用等。
C# - 自建 SDK 的 API 文档
https://www.cnblogs.com/txrock/p/17791189.html
用户在使用类库时,通常需要通过 VS 的 Intellisense 或 F12 反编译查看 API 的注释,借助这些注释来了解如何使用 API。在 C# 源文件中,可以通过编写由三斜杠表示的特殊注释字段,在代码中建立类库所需的 API 文档。注释字段包含用于描述其下方代码块的 XML 元素,XML 元素为 API 文档提供了结构化的格式,便于编译器等工具的解析。
主题
发布版本 v2.61.0 · grpc/grpc-dotnet
https://github.com/grpc/grpc-dotnet/releases/tag/v2.61.0
grpc-dotnet v2.61.0 已发布。
此版本包括多个错误修复以及添加的 Grpc.StatusProto,它支持 gRPC 的丰富错误模型。
Visual Studio 17.10 简介 – 预览版 1 现已推出!- Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/introducing-visual-studio-17-10-preview-1-is-here/
Visual Studio 2022 17.10 预览版 1 已发布。
- 提高生产力
- GitHub 副驾驶聊天
- 理解上下文
- 用于常见任务的斜线命令
- 内嵌聊天
- 通过集成设置进行定制,带来全新的现代体验
- 更新了 Git 提交消息生成
- 拉取请求的工作项链接
- Visual Studio更新中添加推荐组件
- GitHub 副驾驶聊天
- 调试和诊断
- 使用条件断点和跟踪点增强调试
- 简化内存工具中的内存使用情况调查
- EXE 的目标检测
- 改进了“附加到进程”对话框
- C++和游戏开发
- CMake目标固定
- 构建见解模板视图
- 添加了虚幻引擎宏的缩进
- Visual Studio集成工具插件的后台执行
- 团队和 Microsoft 365 开发
- 使用 AI 开发 Teams Bot
- 离线运行和调试 Teams Bot
- Microsoft 365 的 Copilot 增强功能
2.7.20 版 · StackExchange/StackExchange.Redis
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.20
StackExchange.Redis 2.7.20 已发布。
该版本支持像阿里云一样的多DB伪集群/代理。
64 位世界中的 WinForms - 我们的未来战略 - .NET 博客
https://devblogs.microsoft.com/dotnet/winforms-designer-64-bit-path-forward/
WinForms的64位支持,主要是关于Visual Studio设计器。
本文讨论了使 Visual Studio 和设计器兼容 64 位、迁移到进程外设计器、使设计器成为 32 位 .NET Framework 应用程序进程外的优点和困难,以及发生的情况到 17.9。它涉及对遗留组件和未来计划的支持。
Avalonia XPF 一年 - 彻底改变 WPF 开发
https://avaloniaui.net/Blog/one-year-of-avalonia-xpf-revolutionising-wpf-development
回顾 Avalonia XPF 发布这一年。
文章还宣布了未来的平台开发以及为小型开发者提供独立许可证。
JetBrains Rider 和 .NET Aspire 插件 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/02/19/jetbrains-rider-and-the-net-aspire-plugin/
推出适用于 JetBrains Rider 的 .NET Aspire 插件。
本文简要介绍了 .NET Aspire,并解释了如何通过 Rider 安装和使用该插件。
.NET Aspire 插件允许您在 Rider IDE 中查看 OpenTelmetry 指标,本文还解释了该插件如何与 .NET Aspire 交互。
适用于 .NET 的 AWS 开发工具包的 .NET Framework 3.5 和 4.5 目标即将发生的重要更改 | Amazon Web Services
关于适用于 .NET 的 AWS 开发工具包的 .NET Framework 支持版本的公告。
从 2024 年 8 月 15 日开始,适用于 .NET 的 AWS 开发工具包将不再支持 .NET Framework 3.5 和 4.5,支持的最低版本将为 4.6.2。文章还描述了该决定背后的动机。
发布 8.0.7 · dotnet/maui
https://github.com/dotnet/maui/releases/tag/8.0.7
.NET MAUI 8.0.7 已发布。
此版本包含各种错误修复。
.NET Framework 2024 年 2 月安全和质量汇总更新 - .NET 博客
.NET Framework 2024 年 2 月安全和质量累积更新已发布。
此版本不包含新的安全修复程序,仅包含质量和可靠性更新。
这包括修复在 ASP.NET MVC 请求处理期间引发 ArgumentException 的问题,以及解决旧版本 zlib 库的问题。
在 .NET 8 中引入 ASP.NET Core 指标和 Grafana 仪表板 - .NET 博客
支持 .NET 8 中 ASP.NET Core 指标的 Grafana 仪表板已发布。
此 Grafana 仪表板配置为提前显示 ASP.NET Core 的各种指标。
文章、幻灯片等
[更新] AWS Lambda 托管运行时现在支持 .NET 8 | DevelopersIO
https://dev.classmethod.jp/articles/lambda-dotnet-8/
关于 AWS Lambda 上现已提供的 .NET 8 运行时。
本文甚至介绍了如何创建和部署在 .NET 8 运行时上运行的 Lambda 函数。
Visual Studio 17.9 引入简化的扩展管理器 - Visual Studio 博客
关于在 Visual Studio 17.9 中作为预览版引入的新 Visual Studio 扩展管理器。
新的扩展管理器具有经过改进的用户界面,包含更多详细信息、搜索过滤器等。新的扩展管理器是预览功能,因此您可以通过从选项中配置它来使用它。
如何使用 AI Assistant 为 .NET 应用程序生成测试数据 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/02/21/jetbrains-ai-assistant-generate-test-data-for-dotnet/
了解如何使用 JetBrains AI Assistant 创建和测试单元测试的测试数据。
C# GraphQL 服务器搭建[HotChocolate] - Qiita
https://qiita.com/te-k/items/d0b153a8bb5075ab93fe
了解如何使用 HotChocolate 实现 GraphQL 服务器。
文章还提到了突变和零容忍。
在 ASP.NET Core 中加入 Stripe Connect Express 帐户
https://dev.to/stripe/onboarding-stripe-connect-express-accounts-in-aspnet-core-3p0a
有关将 ASP.NET Core 应用程序与 Stripe Connect 和 Stripe Billing 集成的示例。
在本文中,我们假设一个虚构的服务并继续进行设置和计费实施。
VisualStudio.Extensibility:无需重新启动 Visual Studio 即可安装扩展!- Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/visualstudio-extensibility-17-9/
了解新功能,包括无需重新启动即可安装 Visual Studio 的新扩展性模型 VisualStudio.Extensibility。
- 将您的扩展发布到 Visual Studio Marketplace
- 热加载:高级安装,无需重新启动 Visual Studio
- 使用配置属性轻松配置扩展
- 创建可停靠的自定义数据可视化工具以更好地进行调试
- 向扩展添加语言服务器协议 (LSP) 支持
- 使用扩展的查询API查询项目系统
将命名管道与 ASP.NET Core 和 HttpClient 结合使用
https://andrewlock.net/using-named-pipes-with-aspnetcore-and-httpclient/
关于在 Windows 上将 ASP.NET Core 和 HttpClient 与命名管道结合使用。解释为什么使用命名管道以及如何在服务器和客户端上使用它们。
使用 .NET 和本机 AOT 开发优化的 GitHub Actions - .NET 博客
https://devblogs.microsoft.com/dotnet/developing-optimized-github-actions-with-net-and-native-aot/
在 .NET 中创建 GitHub Actions 操作并使用本机 AOT 构建它们时出现的问题和解决方案。
.NET Aspire Preview 3:通过 Azure OpenAI 扩展组件支持MySQL、CosmosDB、Kafka 等
https://www.infoq.com/news/2024/02/dotnet-aspire-preview3-released/
.NET Aspire Preview 3 中的更改说明。
如何与 IronPython 交互 - Qiita
https://qiita.com/Mt_SQ/items/ddbcf39c19ad6591bd96
关于使用 IronPython 时与 Python/.NET 的互操作性。
多次读取原始 ASP.NET Request.Body
https://weblog.west-wind.com/posts/2024/Feb/20/Reading-Raw-ASPNET-RequestBody-Multiple-Times
如何在 ASP.NET Core 中多次读取通常只能读取一次的请求正文。
Monorepo 适用于 .NET 和 NodeJS 工作区
https://mykeels.medium.com/monorepo-for-net-and-nodejs-workspaces-dca7716c16c6
关于配置包含 .NET 和 NodeJS 项目的 monorepo。
在 C# 中转储托管堆
https://minidump.net/dumping-the-management-heap-in-csharp/
尝试从 C# 转储托管堆内存。
本文还尝试操作堆,使其能够显示与 WinDbg 的 dumpheap -stat 等效的信息。
我向我的 ASP.NET Core 应用程序引入了 Azure Monitor OpenTelemetry Distro | DevelopersIO
https://dev.classmethod.jp/articles/azure-monitor-opentelemetry-distro-aspnetcore/
了解如何通过 OpenTelemetry 将数据从 ASP.NET Core 应用程序发送到 Application Insights。
.NET 无线程进程注入
https://vovohelo.medium.com/net-threadless-process-injection-6c389a9ce585
如何基于 JIT 代码将代码注入到 .NET 进程中。
在 ASP.NET Core 中使用 FIDO2 消除密码
https://codezen.medium.com/eliminate-passwords-with-fido2-in-asp-net-core-87b6775b6ca7
如何在 ASP.NET Core 中使用 FIDO2 实现无密码。
在 C# 中实现倒数秩融合 (RRF)
https://zenn.dev/karamem0/articles/2024_02_16_180000
如何实现倒数排名融合 (RRF) 来组合多个搜索结果并对其进行评分,例如全文搜索和矢量搜索。
在浏览器中运行 .NET,无需 ASP.NET
https://medium.com/@muratkirazkaya/running-net-in-the-browser-without-asp-net-89493ab24e10
了解如何在不使用 Blazor 或 ASP.NET Core 的情况下在浏览器中运行基于 WebAssembly 构建的 .NET 应用程序。
.NET Continuous Profiler:CPU 和 Wall Time 分析 | Datadog
https://www.datadoghq.com/en/blog/engineering/dotnet-continuous-profiler-part-2/
一篇解释 Datadog Profiler 内部结构的文章。
它包含有关 CPU 和实时分析的详细信息,以及每个操作系统的分析器的实现。
泛型类型参数的子类型推断
https://ufcpp.net/blog/2024/2/partial-inference/
有人讨论希望能够在 C# 中对泛型类型执行子类型推断。
Rider 2024.1 EAP 5:集合可视化工具、粘滞线、改进的 GitHub 操作支持等 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/02/16/rider-2024-1-eap-5/
Rider 2024.1 EAP 5 已发布。
此版本包括集合可视化工具、编辑器中的行粘性、改进的对 GitHub Actions 的支持、改进的反编译器以及对类型依赖关系图的改进。
.NET Aspire 预览版 3 — 将 Node.Js 应用程序集成到 .Net Aspire 应用程序中
将 React 应用程序与 .NET Aspire Preview 3 集成的步骤。
dotInsights | 2024 年 2 月 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/02/07/dotinsights-february-2024/
JetBrains 2024 年 2 月 .NET 相关主题摘要
EAP(早期访问宠物)的骑手初始屏幕 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2024/02/14/rider-splash-screens-for-eaps-early-access-pets/
介绍 JetBrains Rider 夜间构建中使用的启动屏幕。那些夜间建筑使用宠物的照片。
库、存储库、工具等。
Codeer-软件/Excel.Report.PDF
https://github.com/Codeer-Software/Excel.Report.PDF
用于从 Excel 生成 PDF 文件的库。
深入探索
优化 BigInteger.Divide by kzrnm · Pull Request #96895 · dotnet/runtime
https://github.com/dotnet/runtime/pull/96895
使用 Burnikel-Ziegler 方法优化 BigInteger.Divide 的 PR。
版权声明
- 国内板块由 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,欢迎大家加入。