.NET周刊【6月第1期 2024-06-02】

net · 浏览次数 : 0

小编点评

本文介绍了.NET平台的功能和优势,特别是在各领域的应用。文中提到.NET可以应用于以下方面: 1. 桌面应用开发 2. Web应用开发 3. 移动应用开发 4. 云服务 5. 游戏开发 6. 物联网 7. 大数据和人工智能 .NET支持多种编程语言,其中C#是最常用的。它的全栈开发支持和安全代码优先等特点提升了开发人员的效率。 Gradio.NET是一个基于Python的.NET开箱即用的框架,它可以让.NET开发者不需要前端经验轻松创建Web应用。Gradio.NET适合于那些想快速展示机器学习模型或其他功能的场合。 此外,本文还提及了在国内举办的几次.NET相关的会议和活动,以及一些技术社区的贡献。

正文

国内文章

一文带你了解.NET能做什么?

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

.NET是一个免费、开源、跨平台的开发平台框架,广泛应用于桌面、Web、移动、云服务、游戏、物联网、大数据和人工智能等领域开发。它支持C#、Visual Basic、F#等多种编程语言,其中C#最为常用,通过提供全栈开发支持、安全代码优先等设计亮点,促进了开发人员的工作效率。本文除介绍.NET各领域应用外,还推荐了多个有关它的学习资源和工具,有助于开发者掌握和应用.NET技术。

Gradio.NET是什么,怎么用以及工作原理

https://mp.weixin.qq.com/s/msyta3O8vNRxXjZQTkI31g

文章介绍了Gradio.NET,一个允许.NET开发者无需前端经验即可创建专业Web应用的开源框架。它基于Python库Gradio,使得构建和部署交互式Web界面变得简单。Gradio.NET适合快速展示机器学习模型或其他功能的场景。文章还详细说明了如何使用Gradio.NET,包括创建项目、安装NuGet包,以及编写少量代码来启动应用。最后,它强调了Gradio.NET社区的价值,鼓励.NET开发者加入并贡献。

记一次 .NET某工控WPF程序被人恶搞的 卡死分析

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

本文讲述了作者分析窗体程序卡死问题的经历。作者表示分析dump是免费的,但不希望别人滥用其时间。通过WinDbg工具分析,作者找到主线程在等待一个事件时卡死了。具体来说,是在处理GetMessageW获取的消息时,主线程被coreclr的WaitSuspendEventsHelper方法阻塞,等待一个事件。作者还展示了该方法的源码,其中用到了InterlockedCompareExchange函数保证状态更新的原子性。

记一次 .NET某企业数字化平台 崩溃分析

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

文章描述了如何使用WinDbg工具分析软件崩溃问题,通过查看dump文件来定位和分析发生栈溢出的异常。文中演示了如何判断栈溢出、查看栈的界限和哨兵页,并解释了在.NET环境下,如何通过源码将Win32的STACK_OVERFLOW异常映射为.NET的StackOverflowException异常。最后,通过查看调用栈来尝试定位导致异常的代码。

.NET 6+Semantic Kernel快速接入OpenAI接口

https://www.cnblogs.com/edisonchou/p/-/semantic_kernel_quick_start_demo

本文介绍如何在.NET6环境中利用Semantic Kernel SDK快速集成OpenAI,以创建一个简单的AIGC应用。文中提供了详细的步骤,包括创建.NET6控制台应用程序,配置appsettings.json,安装必要的NuGet包,以及编写代码用于配置及向LLM API发送请求。本文假设读者具有一定的开发背景,主要面向.NET开发者。

Visual Studio 智能代码插件:CodeGeeX

https://www.cnblogs.com/1312mn/p/18211377

CodeGeeX是一款为Visual Studio设计的免费智能编程助手,运用深度学习技术支持代码补全、错误检测、重构等,可无缝集成到多个IDE。它支持超过100种编程语言,具备代码生成、注释添加、智能问答、代码翻译等多功能。用户通过自动模式和交互模式使用CodeGeeX,在Visual Studio 2022安装插件后即可登录使用,提升编码效率。

【译】使用 .NET Aspire 和 Visual Studio 开发云原生应用

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

.NET Aspire 是一个为开发人员提供的简化 .NET 云原生应用程序构建和管理的框架和工具集。通过集成工具、模式和特殊的 NuGet 包,.NET Aspire 支持分布式应用程序开发,实现了自动配置,简化了部署过程,并内置了服务发现功能。可以通过 Visual Studio 或命令行安装 .NET Aspire,并使用 .NET Aspire 项目模板快速创建应用。它支持深度遥测与分布式跟踪,并简化了将应用程序部署到 Azure Container Apps 的流程,提高了开发效率。

分享5款.NET开源免费的Redis客户端组件库

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

大姚分享了5款.NET开源、免费的Redis客户端组件库,包括StackExchange.Redis、csredis、FreeRedis、NewLife.Redis和BeetleX.Redis,它们具有多节点支持、异步编程模型等特性。这些项目都收录在C#/.NET/.NET Core优秀项目和框架精选中,DotNetGuide技术社区为.NET开发者提供学习资料、技术分享和咨询等,旨在建立积极和谐的交流平台。

StackExchange.Redis跑起来,为什么这么溜?

https://www.cnblogs.com/bossma/p/18214702

StackExchange.Redis是一个在.NET环境下与Redis服务器高效通信的客户端库,支持多种Redis功能。文章通过分析StackExchange.Redis的同步和异步调用,阐述了它使用System.IO.Pipelines优化网络IO,采用生产者/消费者模式进行异步处理,实现高效率的数据交换和跨线程通信。同步API负责将操作封装成消息并发送至Redis,然后通过Monitor等待异步结果来同步线程行为。文章深入探讨了消息发送、结果获取及线程同步的具体实现。

微软在Microsoft Build 2024 上 发布了.NET 9 预览版4

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

Microsoft Build 2024上,虽然.NET不是会议的中心议题,但微软依旧发布了一系列旨在提高.NET开发效率和便利性的新功能和工具。这些更新集中在.NET 9 Preview 4中,包括为提升性能和优化而增强的支持。主要改进了生成式人工智能应用、基于云的Web应用的构建体验。此外,微软也正式推出了.NET Aspire,旨在简化.NET的云原生开发。在Build2024会议中与.NET相关的实时会话包括C# 13.0、Entity Framework Core的MongoDB数据库驱动程序,以及ASP.NET Core 9.0与Blazor 9.0的讨论。

C#开发的应用升级更新服务器端工具 - 开源研究系列文章 - 个人小作品

https://www.cnblogs.com/lzhdim/p/18212987

笔者开发了一款名为LUAgent的应用升级管理器,主要解决每个应用都需要单独编写更新代码的问题。LUAgent侧重服务器端,能生成和上传升级更新文件,目前已开源。软件包括多个组成部分如主窗体、上传窗体和FTP操作类,支持添加应用名称、版本号、生成更新文件和上传至FTP。源码可在CSDN下载。客户端应用仍在开发中。

WPF使用事件聚合器,实现任意页面跨页通信

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

本文介绍了如何使用prism框架里的事件聚合器在WPF应用中进行页面间消息传递,并给出了主页面打开对话框、消息发布与接收以及对话框参数接收的实现方法。作者还提供了一个示例,演示了如何传递消息参数,并验证了页面间通信的功能,详细代码可以通过作者公众号获取。

公众号5月C#/.NET热文一览

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

DotNetGuide是一个关于C#/.NET/.NET Core的学习、工作和面试指南知识库,该项目在GitHub上获得了5k+ Star并荣获C#中文Trending榜第一。文章内容包括.NET的应用范围、C#实现多线程的方式、.NET异步编程的实现方式、推荐的.NET定时任务调度框架、在ASP.NET Core Web中使用AutoMapper进行对象映射的方法、介绍.NET开源的AI和LLM相关项目框架、Garnet这款微软官方基于.NET高性能分布式缓存数据库,以及.NET图表库、WinForm UI控件库的介绍和dnSpyEx使用教程。

SQLServer如何监控阻塞会话

https://www.cnblogs.com/tianqing/p/18217020

文章介绍了如何在SQL Server数据库中查询阻塞会话及其根源,并展示了如何用C#编写程序来监控阻塞,定时终止根源会话并记录日志。第一部分通过SQL查询展示了如何查找被阻塞及阻塞会话的详细信息;第二部分提供了查询被阻塞会话的具体SQL文本的方法;第三部分则是C#程序代码,该程序可定期检查并处理数据库阻塞问题。

微服务新体验之Aspire初体验

https://www.cnblogs.com/shiningrise/p/18222147

文章介绍了如何在Visual Studio中安装并配置Aspire项目。首先确认Visual Studio的版本是否支持Aspire,若不支持需要更新至支持版本。然后演示了如何创建Aspire项目,并对项目配置文件进行了修改,以支持不安全传输。接着阐述了如何运行Aspire项目,并分析了项目各组件的关系和功能。前端项目AspireApp1.Web会调用后端AspireApp1_ApiService服务,通过HttpClient与后端服务进行通信,获取天气预报数据。

用.NET代码生成JSON Schema 验证器

https://www.cnblogs.com/dotnet-diagnostic/p/18224293

对于不熟悉JSON Schema的开发者,可以使用Lateapexearlyspeed.Json.Schema库的fluent schema builder模式来构建JSON Schema验证器。此接口设计允许开发者以“强类型”风格配置JSON验证规则,提高代码的安全性和可读性。支持多种验证方法,如IsJsonString、IsJsonNumber等,以及HasCustomValidation方法进行自定义验证。但使用扩展关键字的Build方法将不支持生成标准JSON Schema文本。

深入探讨Function Calling:在Semantic Kernel中的应用实践

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

本章节主要讲解了OpenAI的function calling如何在Semantic Kernel中应用。OpenAIPromptExecutionSettings中的ToolCallBehavior可以设置为EnableKernelFunctions或AutoInvokeKernelFunctions,前者需要显式发起函数调用请求,后者会自动处理函数调用。推荐使用OpenAI的最新模型以提高工具调用的性能。作者还展示了如何通过Azure OpenAI的服务结合自定义方法获取北京天气的实例,并解释了在开启EnableKernelFunctions时如何手动处理函数调用请求。

记一次 .NET某工业设计软件 崩溃分析

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

一位朋友的软件出现崩溃,并抓取了dump文件。分析发现是ExecutionEngineException灾难性异常,原因是接口Stub调用失败,this指针为null。进一步分析clr源码发现问题出在VirtualCallStubManager对象为null,调用管理器无法正确解析调用站点的stub前缀。作者通过具体的代码段和汇编指令解释了问题的原因。

.NET开源、跨平台、使用简单的面部识别库

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

FaceRecognitionDotNet是一个.NET开源、免费、跨平台的面部识别库,它是Python人脸识别库face_recognition的C#移植版本,能够进行人脸检测和识别。它基于dlib和OpenCV开发,提供高级接口,适用于Windows、MacOS和Linux。同时,该项目已被收录到C#/.NET/.NET Core优秀项目和框架精选中,并且有一个面向.NET开发者的DotNetGuide技术社区。

微服务实践Aspire项目发布到远程k8s集群

https://www.cnblogs.com/shiningrise/p/18226058

Aspirate是用于将Aspire项目发布到k8s集群的工具。需要先安装Aspirate,然后在AppHost项目目录下进行初始化,生成aspirate.json配置文件,随后生成k8s配置文件和配置状态文件aspirate-state.json。接着进行构建操作,修改k8s的部署和服务配置文件,例如image的镜像文件地址,最后需要重新应用配置。还提供了如何将远程k8s集群增加至Win11本地的说明。

来自多彩世界的控制台——C#控制台输出彩色字符画

https://www.cnblogs.com/webenh/p/18216734

本文介绍了如何在C#中生成字符画,包括黑白和有限彩色两种方法。首先展示了黑白字符画的生成:加载图像、根据像素明度映射字符。接着尝试了利用Console.ForegroundColor和Colorful.Console库来增加颜色,但由于Windows控制台限制只能显示16种颜色,彩色字符画效果不佳。文章的最后作者表示不甘心,希望能找到全彩字符画的解决方案。

谁说爬虫只能Python?看我用C#快速简单实现爬虫开发和演示!

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

文章介绍了如何使用C#结合HtmlAgilityPack库开发简单的网络爬虫,并演示了如何爬取文本、图片以及视频的基本方法。首先创建一个处理文本的函数将爬取的数据写入text.txt文件,在Main函数中调用相关方法进行操作。同时演示了图片数据的爬取方法和视频数据的爬取,虽然没有实际演示视频爬取,但提供了代码参考。

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)

https://www.cnblogs.com/lulight/p/18219072

本文介绍了在Azure App Service中使用TLS/SSL证书的两种方法:通过文件和系统证书库。文中首先展示如何使用PowerShell创建自签名证书,并提供修改参数的选项。接着,给出了两段.NET代码,分别演示如何通过文件路径和指纹加载证书。文末指出,若通过指纹查找证书失败,需检查证书是否添加到App Service及配置参数,并在实验中通过API调用证明了方法的有效性。

XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览

https://www.cnblogs.com/xiaowange/p/18225328

XML Web服务是基于标准和协议(如WSDL、SOAP、RDF、RSS等)来发布、发现和使用网络应用程序组件的技术。WSDL用于描述Web服务的接口和操作,SOAP用于Web服务间通信的XML协议,RDF用于描述资源的属性和关系,RSS用于网站内容发布。XML Web服务的优势包括自描述性、开放协议支持、组件可重用性及促进现有软件系统间的连接。WSDL文档通过定义数据类型、消息、操作和端口类型等元素来描述Web服务。WSDL操作包括单向操作和请求-响应操作。

【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标

https://www.cnblogs.com/guojin-blogs/p/18215648

YOLOv10是YOLO家族新成员,特色是无NMS训练且在推理延迟和性能贡献上有显著提升。文章详述了用OpenVINO™ C# API部署YOLOv10模型的方法。OpenVINO™是英特尔的工具套件,2024年4月更新版本,加快了AI模型在多平台的推理速度,加强了模型压缩和性能改进。本文不仅介绍了YOLOv10模型的优点,还提供了C# API的下载链接和全部源码,帮助开发者在不同操作系统和硬件平台上使用C#实现模型部署和加速推理。

C#中接口的显式实现与隐式实现及其相关应用案例

https://www.cnblogs.com/TonyCode/p/18223431

C#中接口显式实现限制类直接调用方法,像“密封”类接口方法,增加调用成本。通过显式实现降低方法误用,子类重写抽象类中对应接口的默认行为,显式实现方法子类无法直接访问,降低递归调用风险。文章通过示例展示隐式和显式实现的区别,以及静态类扩展对接口方法访问修饰的应用。

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)

https://www.cnblogs.com/lulight/p/18225557

本文讲述在.NET 8环境下,应用如何在Linux系统或容器中读取SSL证书(X509),主要有两种方式。第一种将证书文件包含在源文件中,并直接通过相对路径读取;第二种上传证书至App Service Linux后,系统将证书保存于/var/ssl/文件夹中,可以通过SSH方式查看。文中提供了读取私有证书(.pfx)的.NET 8代码示例,并指出需要WEBSITE_LOAD_CERTIFICATES配置以及添加证书后需要重启站点才能在目录中看到证书文件。

使用 TestContainers 进行数据库集成测试

https://www.cnblogs.com/kklldog/p/18216903/TestContainers

TestContainers是一个开源工具,旨在简化集成测试中的容器管理,可以自动下载启动容器镜像,保证了测试的隔离性与可重复性,并能实现真实环境测试。用户通过API创建并启动容器实例,执行测试,最后销毁容器释放资源。本文使用PostgreSQL容器实例进行单元测试示例,展示如何使用TestContainers进行集成测试,并强调了其在搭建测试环境、保证测试质量方面的优势。

微服务实践k8s&dapr开发部署实验(3)订阅发布

https://www.cnblogs.com/shiningrise/p/18218164

文章介绍了在自托管模式下运行dapr的过程,包括创建订阅webapi项目、修改配置文件、使用Dapr进行发布与订阅,并且介绍了如何在k8s环境下部署。最终通过命令行和网页发布订阅的方式验证了整个流程。

oidc-client.js踩坑吐槽贴

https://www.cnblogs.com/tibos/p/18225177

这篇文章探讨了在使用vue2.0和.net core 6.0工作的环境中,将IdentityServer4认证授权基础框架的demo迁移到vue工程的挑战。作者因为前端技能限制和vue3的复杂性选择了vue2.0,并在迁移过程中遇到了PKCE(Proof Key for Code Exchange)不兼容的问题。文中还详细解释了PKCE的概念和作用,以及oidc-client.js停止维护带来的困扰和潜在解决方案,如关闭PKCE认证或直接取Localstorage中的code_verifier值。

Web Service和Web API理解和使用场景

https://www.cnblogs.com/dotnetw/p/18215365

Web Service是重量级的网络服务,使用SOAP和XML,适用于需安全性和事务处理的企业系统集成。Web API是基于HTTP的轻量级接口,多用JSON,便于快速开发和移动应用后端服务。具体选择取决于项目需求、安全性、性能和团队熟悉度等。

gRPC入门学习之旅(九)

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

这篇文章介绍了gRPC入门学习之旅的一些关键步骤,包括客户端的编译生成GRPC类、如何进行gRPC服务的https调用及解决相关错误。具体内容包括在Demo.Grpc.Common项目重新生成中生成GRPC类文件、通过Visual Studio 2022设置服务端监听端口和客户端请求地址、添加并编写User类以及MainWindow,以及删除项目中的Protos目录和添加项目引用解决依赖问题。

NET工控,上位机,Modbus485网口/串口通讯(鸣志步进电机,鸣志伺服电机,松下伺服电机,华庆军继电器模块)

https://www.cnblogs.com/Gao1234/p/18096175

文章介绍了两个Modbus帮助类,并重点讨论了在多线程环境下的一些问题。提供了不安全版的代码及实现串口和网口TCP连接的详细步骤。通过示例代码显示了如何设置串口参数并处理串口和TCP连接中的异常。

主题

Microsoft Build 2024:.NET 开发人员的基本会议 - .NET 博客

https://devblogs.microsoft.com/dotnet/catching-up-on-microsoft-build-2024-essential-sessions-for-dotnet-developers/

在 Build 2024 上为 .NET 开发人员介绍视频。

发布版本 v2.63.0 · grpc/grpc-dotnet

https://github.com/grpc/grpc-dotnet/releases/tag/v2.63.0

grpc-dotnet v2.63.0 已发布。

此版本修复了内存泄漏和竞争条件等多个问题。

MAUI 版 LibVLCSharp 简介

https://dev.to/mfkl/introducing-libvlcsharp-for-maui-naj

发布 .NET MAUI 兼容版本的 LibVLCSharp。

此初始版本支持 Android 和 iOS,收到反馈后将考虑支持 WinUI。

引入 .NET API 文档源代码链接 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-docs-link-to-source-code/

已实现 learn.microsoft.com 上 .NET API 文档的源代码链接以及实现的幕后说明。

文章、幻灯片等

使用 podman 运行 .NET 测试容器

https://zenn.dev/k_maru/articles/testcontainersdotnet_podman

了解如何使用 Podman 而不是 Docker 来通过 Testcontainers for .NET 运行容器。

现代扩展管理器随 Visual Studio 17.10 一起到来 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visual-studio-extension-manager-17-10/

介绍 Visual Studio 2022 17.10 中引入的新扩展管理器。

关于 JetBrains Rider 的 NuGet 支持您不知道的 9 件事 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/05/29/9-things-you-didn-t-know-about-jetbrains-rider-s-nuget-support/

介绍有关 JetBrains Rider 中 NuGet 支持的 9 点。

工具窗口、包源代码控制、缓存管理、在 Assembly Explorer 中打开包、预发布复选框、Checkmarx 的安全性、查找依赖代码、在一处更新包、配置等。

初学者!使用 WPF 进行下一步!

https://zenn.dev/luxiar/articles/f25596cd1876a2

介绍将帮助您创建 WPF 应用程序的配置和技术。

为您的 C# 项目选择最佳的不可变字典

https://goatreview.com/choosing-best-immutable-dictionary-csharp-projects/

关于immutable Dictionary,比较解释了ReadOnlyDictionary、ImmutableDictionary、FrozenDictionary的性能和特点。

VisualStudio.Extensibility 17.10:使用诊断资源管理器调试扩展 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visualstudio-extensibility-17-10/

17.10 中新的 Visual Studio 扩展性模型 VisualStudio.Extensibility 的新增功能。

使用诊断资源管理器进行调试,选择 XAML 资源、文件,跟踪项目查询的结果等等。

在 xUnit 单元测试中实现 ILogger 输出 - Qiita

https://qiita.com/higege-amdeker/items/4e2adfcc1b57628d2c71

如何使用 xUnit 将 ILogger 的输出输出到单元测试中的测试输出。

使用 Roslyn 分析器阻止主构造函数成员捕获

https://andrewlock.net/blocking-primary-constructor-member-capture-using-an-analyzer/

如何使用分析器阻止从 Roslyn.Diagnostics.Analyzers 捕获主构造函数或实现您自己的分析器。

在 Github Actions 中发布并查看 MSTest 测试结果

https://medium.com/@ma11hewtomas/publish-and-view-mstest-test-results-in-github-actions-35f11d97a259如何使用 .NET 的 CTRF 报告器和 github-actions-ctrf 将 MSTest 结果输出到 GitHub Actions 报告。

当作者不在时如何更新 NuGet 库 – The Reformed Programmer

https://www.thereformedprogrammer.net/how-to-update-a-nuget-library-once-the-author-isnt-available/

关于患有痴呆症的作者在他无法更新图书馆时做了什么,以使其他人能够更新图书馆。

.NET Aspire 正式发布!介绍介绍了 Aspire 的 Build 2024 会议

https://zenn.dev/jtechjapan_pub/articles/adf174ff96d3cb

介绍 Build 2024 上涵盖 .NET Aspire 的会议。

[C#] 异步处理和 async/await - Annulus Games

https://annulusgames.com/blog/async-await/

对.NET异步的解释,包括C#的async/await、cancel、IAsyncEnumerable等机制。

Avalonia UI:通过 FluentAvalonia 主题定制增强您的应用程序

https://medium.com/@faruk.akyapak/avalonia-ui-enhance-your-app-with- Fluentavalonia-theme-customization-0e8b9bdb4b16

了解如何为 Avalonia 自定义 FluentAvalonia 主题。

我想在 C# (.NET) 中将字节转换为 KB、MB、GB

https://zenn.dev/hirosukekayaba/articles/77d3ae2d90956a

将文件大小格式化为以 KB、MB、GB 等为单位的字符串的技术。

使用 dotnet-fullgc 触发您的 GC!

https://chnasarre.medium.com/trigger-your-gcs-with-dotnet-fullgc-c51bc3e364dc

了解工具以及如何实现它们以对从命令行运行的 .NET 进程执行 GC。

在.NET 8 中使用 Blazor 创建 WASM + gRPC 项目

https://zenn.dev/microsoft/articles/aspnetcore-blazor-dotnet8-wasm-with-grpc

了解如何在 .NET 8 的 Blazor WebAssembly 项目中使用 gRPC (Web) 进行通信。

Re:从零可观察性开始 - 尼诺的花园。

https://blog.neno.dev/entry/2024/05/25/164314

什么是 Observability、OpenTelemetry 的术语、如何在 C#/.NET 中使用它以及如何使用 Collectors。

ColorPalette 类中出现了公共构造函数!

https://zenn.dev/sayurin/articles/2700249955ee48

.NET 9 公开了 System.Drawing.Imaging.ColorPalette 类的构造函数。

这缓解了传统调色板在调查时难以处理的问题。

活动

Microsoft Build Japan (2024/06/27 10:00~)

https://msdevjp.connpass.com/event/320534/

使用 Blazor+ 低代码实现 .NET 资产现代化 (2024/07/04 13:30~)

https://codeer.connpass.com/event/319762/

网站、文档等

功能域建模 通过领域驱动设计和 F# 解决软件复杂性

https://www.kadokawa.co.jp/product/302405003608/

一本介绍使用函数式编程 F# 进行领域驱动开发的建模和构造方法的书。

版权声明

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.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

与.NET周刊【6月第1期 2024-06-02】相似的内容:

.NET周刊【6月第1期 2024-06-02】

国内文章 一文带你了解.NET能做什么? https://www.cnblogs.com/Can-daydayup/p/18214473 .NET是一个免费、开源、跨平台的开发平台框架,广泛应用于桌面、Web、移动、云服务、游戏、物联网、大数据和人工智能等领域开发。它支持C#、Visual Basi

.NET周刊【6月第5期 2024-06-30】

国内文章 呼吁改正《上海市卫生健康信息技术应用创新白皮书》 C# 被认定为A 组件 的 错误认知 https://www.cnblogs.com/shanyou/p/18264292 近日,《上海市卫生健康“信息技术应用创新”白皮书》发布,提到医疗信创核心应用适配方法及公立医院信息系统。文章中对C#

.NET周刊【6月第4期 2024-06-23】

国内文章 C#.Net筑基-集合知识全解 https://www.cnblogs.com/anding/p/18229596 .Net中提供了数组、列表、字典等多种集合类型,分为泛型和非泛型集合。泛型集合具有更好的性能和类型安全性。集合的基础接口包括IEnumerator、IEnumerable、I

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

国内文章 C#开源实用的工具类库,集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.ExtensionMethods,可以通过NuGet包管理器轻松集成。该库支持.NET Standard

.NET周报 【6月第1期 2023-06-04】

## 专题 - NanoFramework项目案例 如果有时间,我会在周报中加入一些专题和项目案例的分享,本周就是讨论.NET NanoFramework项目案例的专题,在讨论 NanoFramework 的典型案例之前,让我们先回顾一下 .NET 在嵌入式领域的历史。 2007年,.NET Mic

.NET周报 【6月第2期 2023-06-11】

## 国内文章 ### 如何计算一个实例占用多少内存? https://www.cnblogs.com/artech/p/size-calculation.html 我们都知道CPU和内存是程序最为重要的两类指标,那么有多少人真正想过这个问题:一个类型(值类型或者引用类型)的实例在内存中究竟占多少字

.NET周报 【6月第3期 2023-06-18】

## 国内文章 ### 揭秘 Task.Wait https://www.cnblogs.com/eventhorizon/p/17481757.html Task.Wait 是 Task 的一个实例方法,用于等待 Task 完成,如果 Task 未完成,会阻塞当前线程。**非必要情况下,不建议使用

.NET周报 【6月第4期 2023-06-25】

## 国内文章 ### 如何在long-running task中调用async方法 https://www.cnblogs.com/eventhorizon/p/17497359.html long-running task 是指那些长时间运行的任务,比如在一个 while True 中执行耗时较

.NET周报 【5月第1期 2023-05-06】

国内文章 聊一聊 Valgrind 监视非托管内存泄露和崩溃 https://www.cnblogs.com/huangxincheng/p/17374315.html、 只要是程序总会出现各种莫名其妙的问题,比如:非托管内存泄露,程序崩溃,在 Windows 平台上一般用微软自家的官方工具 App

.NET周报 【2月第4期 2023-02-25】

国内文章 .NET微服务系统迁移至.NET6.0的故事 https://www.cnblogs.com/InCerry/p/microservice-migration-net-6.html 本次迁移涉及的是公司内部一个业务子系统,该系统是一个多样化的应用,支撑着公司的多个业务方向。目前,该系统由4