.NET周刊【10月第4期 2024-10-27】

国内文章

dotnet DirectX 做一个简单绘制折线笔迹的 D2D 应用

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

本文将告诉大家如何从简单的控制台开始,使用 Vortice 辅助调用 Direct2D1 的功能,配合 WM_Pointer 消息,制作一个简单绘制触摸折线笔迹的 D2D 应用.

C#实现信创国产Linux麦克风摄像头推流(源码,银河麒麟、统信UOS)

https://www.cnblogs.com/shawshank/p/18494362

随着国际形势变化,软件信创国产化迫在眉睫。本文介绍如何在国产操作系统上实现RTMP推流,包括摄像头和麦克风数据采集、编码、推送至流媒体服务器等。使用.NET Core、Avalonia等技术,结合LinuxCapture和NPusher.NetCore组件,实现跨平台的数据采集和推流。具体步骤涵盖采集器创建、数据传输及错误处理。代码示例提供了实时推流管理的方法。

一个整合性、功能丰富的.NET网络通信框架

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

.NET网络通信框架TouchSocket功能丰富,包括TCP、UDP、HTTP等多种模块,支持多种环境。用户可快速解决数据报文解析问题,框架支持.NET Framework 4.5及以上以及.NET 6.0等。简单示例展示了如何设定连接及断开事件处理。项目开源代码可在Gitee查看。

使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题

https://www.cnblogs.com/chuandao/p/18491215

文章介绍了基于ABP框架使用Radzen开源组件库开发的Blazor UI主题Abp.RadzenUI。项目已开源在GitHub,具备登录、多租户、角色管理、权限分配、多语言切换等功能。详细描述了如何使用ABP CLI工具创建新应用,安装AbpRadzen.Blazor.Server.UI包、配置多租户及多语言选项、设置侧边栏菜单,并提供了使用RadzenUI的示例代码。

几张图带你了解.NET String

https://www.cnblogs.com/lmy5215006/p/18494483

字符串在.NET中是常用的引用类型,具有不可变性,但通过底层操作可以更改其内容。代码示例展示了通过内存地址直接修改和利用MemoryMarshal改变字符串值。为提升字符串拼接效率,建议使用StringBuilder,它通过char[]数组存储和操作链表来处理字符串内容。StringBuilder的源码解析显示其高效的字符填充和扩容能力。

AOT漫谈专题(第六篇): C# AOT 的泛型,序列化,反射问题

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

文章探讨了.NET AOT编程中泛型、序列化、反射的问题及其解决方案。作者详细分析了泛型在AOT中的处理方式,介绍了如何使用rd.xml机制解决依赖问题。序列化部分则强调官方提供的Json序列化使用SourceGenerator进行元数据迁移,实现AOT支持。内容具体且技术深度适中。

C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)

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

文章汇集了C#、.NET及其相关技术的最新发展和实用资源。涵盖了.NET 9新版特性、C#13更新、System.Text.Json改进、开源项目以及学习路线等内容。这些信息对于开发者拓展技术视野和提高技能非常有帮助,适合关注技术前沿的读者。

dotnet core微服务框架Jimu介绍

https://www.cnblogs.com/flamesky/p/18503218

jimu是一个基于.Net6.0的微服务框架,使用多个开源库如DotNetty、consul.net等,支持分布式和高并发,实现服务治理和RPC调用。jimu的设计理念强调IOC和DI,使用autofac进行组件注入。框架支持服务注册与发现(使用consul)、动态网关、JWT鉴权以及基于DotNetty的RPC。它还提供负载均衡、容错策略、容器发布、路由配置及日志支持,结合工具如swagger进行API文档编写及skywalking链路跟踪。采用Dapper和MiniDDD简化数据库操作,结合RabbitMq进行消息队列管理,旨在提高开发的简便性和项目的稳定性。

.NET 开源扁平化、美观的 C/S 控件库

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

本文介绍了HZHControls,一个基于.NET Framework的开源控件集,包含200多个控件,适用于多种开发场景。这些控件可高度自定义,支持触屏操作,并显著提高用户体验。控件种类包括窗体、图表和工业控件,如提示框、动态图表、管道、LED等。项目提供详细文档及示例代码,资源可在GitHub和Gitee上获取。

C#常见的四种经典查找算法

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

本文介绍四种C#中常见的查找算法,包括二分查找、线性查找和二叉搜索树等,详细说明了每种算法的实现和使用实例。二分查找通过不断分割数组来定位目标元素,线性查找逐一检查每个数组元素,二叉搜索树则构建有序节点树以支持高效查找、插入和删除操作。每种算法都附带了代码示例,帮助读者理解关键操作和逻辑。该文章对编程新手在C#语境下开始学习数据结构与算法有实际指导意义。

AI之旅-开篇:从云计算之路到AI之旅,从搬上阿里云到留在阿里云

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

园子在2024年决定继续使用阿里云,基于AI服务和.NET技术拓展创新。计划包括推出AI产品、发起开源项目、帮助开发者掌握AI技术并降低应用门槛,还将合作提供AI工具提升效率,并分享AI发展历程。

.NET使用OllamaSharp实现大模型推理对话的简单演示

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

文章介绍如何在本地或远程环境中部署和使用Ollama模型。使用MIT开源协议的OllamaSharp nuget包创建项目,启动Ollama应用,配置端口和环境变量,验证连接是否正常。并提供方法遍历和选择模型,通过排列数组索引获取模型名称,用户可选择模型并绑定提示词创建聊天对话。文章附示例代码演示模型列表输出及用户交互过程。获取源码可通过指定公众号获取。

基于surging的木舟平台如何上传模块热部署

https://www.cnblogs.com/fanliang11/p/18500400

木舟(Kayak)是一款基于.NET6.0的微服务和物联网平台,支持多协议适配和模块化管理。本文介绍了模块热部署功能的使用步骤,包括创建业务接口和服务、发布模块和在Kayak平台中管理模块,实现快速无重启更新。网络组件支持灵活管理,详情将在后续文章中介绍。

数据结构 - 树,三探之代码实现

https://www.cnblogs.com/hugogoos/p/18494233

本文介绍了二叉树的实现方法,包括数组和链式存储。通过初始化树节点容量,创建数组以存放节点。获取节点数依赖数组长度,通过数组获取或计算节点索引用于操作。计算父节点、左子节点和右子节点索引的方法使用特定公式,并检查是否越界。获取节点值的方法根据索引返回相应数据,同时提供获取左、右子节点值的方法。整个过程提供了对二叉树基本操作的详细实现。

【译】使用可编辑表达式改进调试

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

Visual Studio 调试器的新特性允许用户在 IEnumerable 可视化对话框中使用可编辑的 LINQ 表达式进行调试。用户可以通过修改表达式实时更新数据,节省编写代码的时间。通过鼠标悬停或右键单击变量启动可视化工具,用户可以轻松过滤和排序数据集,提升调试效率。如有需要,表达式还可以复制并用于应用程序逻辑。用户反馈将有助于进一步改进此特性。

Syncfusion宣布开源其为.NET MAUI开发的14个控件

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

.NET MAUI 是 Xamarin.Forms 的进化,支持桌面应用,提供统一框架、性能改进和现代技术。Syncfusion 提供 14 个免费 UI 控件,增强 .NET MAUI 开发。这些控件可在 GitHub 和 NuGet 获取。Microsoft 和 Syncfusion 联手在 .NET 9 中推新项目模板,引入 MVVM 模式、SQLite 数据库支持等,助力开发者。

C#线性查找算法

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

文章介绍了线性查找算法的基本原理及其实现。在C#中,通过遍历数组来寻找目标元素,如果找到则返回索引,否则返回-1。该算法适用于小规模或无序数据集,但因时间复杂度为O(n),在大规模数据集中效率较低。文章建议在较大数据集中使用更高效的查找算法。

主题

ASP.NET Core 2.1 变为 ASP.NET Core 2.3 · 问题 #331 · dotnet/公告

https://github.com/dotnet/announcements/issues/331

关于将 ASP.NET Core 2.1 发布为 ASP.NET Core 2.3 的公告。

ASP.NET Core 2.x 具有不仅支持 .NET Core 还支持 .NET Framework 的背景,.NET Framework 上的 ASP.NET Core 2.1 具有与 ASP.NET 相同的支持生命周期,并且仍然受到内部支持。

  • 2.3 版本发布的背景
    • 许多用户将 ASP.NET Core 从 2.1 更新到 2.2,但有些用户并不知道 2.2 的支持期缩短了。
    • 通过将 ASP.NET Core 2.2 与 .NET Framework 一起发布为 ASP.NET Core 2.3,可以更轻松地迁移
      • 如果 NuGet 等包依赖项依赖于 2.2,则应用程序将很难降级到 2.1,较新的版本会更流畅。
    • 将 ASP.NET Core 2.2 发布为 2.3 将迫使 2.1 用户做出重大更改,因此 2.1 将变为 2.3。
  • 当前使用 ASP.NET Core 2.1 (.NET Core) 的用户
    • 已经不受运行时支持
  • 当前使用 ASP.NET Core 2.1 (.NET Framework) 的用户
    • ASP.NET Core 2.1 的未来更新会将 2.1 标记为易受攻击的包,并提示您升级到 2.3。
    • ASP.NET Core 2.3 是 2.1 的重新发布,因此无需立即更新,否则如果不更新,您将不会收到修复。
  • 使用 ASP.NET Core 2.2 (.NET Framework) 的用户
    • 由于支持已经结束,我们强烈建议升级到 ASP.NET Core 2.3(但降级,因为它实际上是 2.1)或迁移到 .NET 系列。

WebStorm 和 Rider 现已免费供非商业用途 | JetBrains 博客

https://blog.jetbrains.com/ja/blog/2024/10/24/webstorm-and-rider-are-now-free-for-non-commercial-use/

添加了许可证,允许您免费将 WebStorm 和 Rider 用于非商业用途。

这允许免费用于非商业目的,例如学习、开源项目开发、内容创建和爱好开发。

.NET 升级助手现在支持升级到集中包管理 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-upgrade-assistant-cpm-upgrade/

支持使用 .NET Upgrade Assistant 将 NuGet 包迁移到集中式包管理器。

允许您从 Visual Studio 扩展或 CLI 迁移现有项目。

此外,升级助手现在仅支持 Visual Studio 17.3 或更高版本,因此它不适用于早期版本。

将 Windows 窗体 .NET 项目升级到最新 .NET 版本以增强安全性 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/upgrade-your-windows-forms-net-projects-to-the-latest-net-version-for-enhanced-security/

关于将 .NET 中的 WinForms 应用程序升级到最新的 .NET。

本文介绍了升级的好处、Visual Studio 上 WinForms 设计器的未来警告以及每个版本的未来设计器支持状态。

MongoDB EF Core 提供程序:有什么新变化 - .NET 博客

https://devblogs.microsoft.com/dotnet/mongodb-ef-core-provider-whats-new/

了解 Entity Framework Core 的 MongoDB 提供程序的新功能。

  • 添加属性并跟踪更改
  • 指数管理
  • 查询数据
  • 自动事务和乐观并发

介绍 Syncfusion 的第一套开源 .NET MAUI 控件

https://www.syncfusion.com/blogs/post/syncfusion-open-source-net-maui-controls-cross-platform

Syncfusion 已发布 Syncfusion Toolkit for .NET MAUI,它是开源的 .NET MAUI 控件集合。

Syncfusion Toolkit for .NET MAUI 可在 GitHub 和 NuGet 上根据 MIT 许可使用

文章、幻灯片等

使用 C# 获取 Windows 机器的状态并使用 InfluxDB 和 Grafana 绘制图表 - Qiita

https://qiita.com/toRisouP/items/ba0c44cc86e1ca496e27

了解如何检索 Windows 计算机的硬件状态信息、将数据存储在 InfluxDB 中并在 Grafana 中可视化。

本文利用OpenHardwareMonitorLib实现信息获取。

eShop 注入 AI - 全面的智能应用程序示例 - .NET 博客

https://devblogs.microsoft.com/dotnet/e-shop-infused-with-ai-compressive-intelligent-dotnet-app-sample/

关于创建一个将 AI 纳入电子商务网站示例应用程序的客户支持网站。

本文解释了 eShopSupport 的结构以及它如何使用 AI 执行处理。

下个月在 Live 360 上亲身体验 Visual Studio、.NET、AI 等内容 - Visual Studio 博客。

https://devblogs.microsoft.com/visualstudio/live-360-orlando-2024/

有关 11 月 17 日至 22 日在奥兰多举行的 Visual Studio LIVE! 活动的信息。

我尝试将 Lottie 动画与 .NET for Android 结合使用(本机库互操作)

https://zenn.dev/onepoint Five/articles/21641823573f37

说明为 Lottie 本机库创建包装器库以将 Lottie 与 .NET for Android 结合使用的步骤。

[C#] 依赖注入方法生命周期 - AddTransient、AddScoped、AddSingleton - Qiita

https://qiita.com/simoyama2323/items/0e082bd1582df9b33180

Microsoft.Extensions.DependencyInjection 中 AddTransient、AddScoped 和 AddSingleton 之间差异的快速说明。

C# 13 中的新增功能:概述

https://pvs-studio.com/en/blog/posts/csharp/1173/

C# 13 中的新功能摘要。

使用 Entity Framework Core 将多个 DBContext 放入同一项目时如何正确使用迁移 - Qiita

https://qiita.com/spc_ksudoh/items/e7c5d3a61de2b2560159

如何使用 Entity Framework Core 的一个项目中包含的多个 DbContext 来执行迁移。

[C#] 一个关于努力读取压缩流的故事 - Qiita

https://qiita.com/abetakahiro123/items/d89ca42373a6626a5d23

关于在 .NET 和 .NET Framework 中读取执行压缩和解压缩的 Stream 的行为差异。

Xunit.Combinatorial:测试组合的简单方法

https://medium.com/@sugumar.p/xunit-combinatorial-a-simple-way-to-test-combinations-e3a2617df1da

如何使用 Xunit.Combination,它允许您在 xUnit.net 中测试参数化单元测试的组合。

EF Core 原始查询 (C#)

https://dev.to/karenpayneoregon/ef-core-raw-queries-c-13fh

如何在 Entity Framework Core 8 中发出原始 SQL 查询。本文还讨论了如何记录查询。

.NET Conf 2024 学生专区 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnetconf-2024-student-zone/

隆重推出 .NET Conf 学生专区,这是 .NET Conf 2024 内面向初学者/学习者的虚拟活动。

学生区会议将于日本时间 11 月 19 日凌晨 1 点和下午 1 点在 .NET YouTube 频道上举行。

uint[] 可以转换为 IList<int>

https://zenn.dev/ruccho/articles/7903821cd68a12

解释了 uint 数组 (uint[]) 可以转换为 IList<int> 的事实,以及它在运行时实现和规范方面的行为方式。

事件

Microsoft 活动 - Microsoft 开发者日 ~ 通过 AI 最大限度地发挥开发者的力量

https://msevents.microsoft.com/event?id=1289012583

现代C#/.NET开发~如何使用最新的语言和框架

https://sansan.connpass.com/event/333961/

库、存储库、工具等。

BAndysc/Classic.Avalonia:Avalonia 的经典主题和控件

https://github.com/BAndysc/Classic.Avalonia

Avalonia 经典 Windows 主题。

posted @ 2024-10-29 18:20  InCerry  阅读(665)  评论(0编辑  收藏  举报