由于微信公众号排版问题,建议大家在PC端浏览。

国内文章

C# 很少人知道的科技

https://blog.lindexi.com/post/C-很少人知道的科技.html

本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道这些科技,如果觉得我是在骗你,那么请看看本文的内容。

C#调用js库的方法

https://www.cnblogs.com/s0611163/archive/2023/01/17/17056909.html

用.net6开发一个Winform程序,处理Excel文件,并把结果导出Excel文件。要用到两个算法,一是turf.js库的booleanPointInPolygon方法,判断经纬度坐标是否在区域内;二是经纬度纠偏算法,因为对方给的区域坐标集合有偏移,需要纠偏。这两个算法,网上找C#的实现,一是不好找;二是找来的不信任,我还要测试以确保没有问题。我之前做电子地图使用过turf.js库和js版本的纠偏算法,比较信任,确定没有问题。所以我就打算通过C#调用js库的方法,来实现数据处理。

C#中检查null的语法糖

https://mp.weixin.qq.com/s/4HY1QKevswNy-0fR-frRgA

今天看到已经更新了devblogs,新增的C# 11的!!(用于检查null的语法)经过非常长的讨论,最后取消了。然后我又想起来null检查,这个可以说一说。

2022年github上Stars排名前十的.NET开源项目

https://mp.weixin.qq.com/s/cJEPtwBg8XJPBcbeF7Co-A

2023年已经开始了,在2022年从事.NET开发的你有什么收获呢?在过去的2022年里面,GitHub最受欢迎、Stars最多的项目分别是哪些呢?今天我们分享一下github上Stars排名前十的非官方.NET开源项目。

.NET 简单、高效、避免OOM的Excel工具

https://mp.weixin.qq.com/s/yEE1-z9_Hov_VaSYZqXRSQ

最近晚辈尝试做一个.NET简单、高效、避免OOM的Excel工具 MiniExcel。主要目前主流框架大多将资料全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。适合像是低规格 azure app service 或是读取大文件等情境。

一款.Net开发的快速探测内网主机信息工具

https://mp.weixin.qq.com/s/2xUZH_RTqtxvcQRQzFjqMQ

今天给大家推荐一款.Net开发的快速探测内网主机信息工具SharpHostInfo。在进行内网渗透的时候,尤其是在域环境里,如果我们想知道其他内网主机信息,从而开展进一步渗透。那么SharpHostInfo正是这样的一个工具,体积较小,速度极快,支持NetBIOS、SMB和WMI服务快速探测。

一个.NET开发的微信/QQ/TIM防撤回补丁

https://mp.weixin.qq.com/s/6r6KqMFEebKPGGfL3UU3Bw

今天给大家推荐一个.NET开发的微信/QQ/TIM防撤回补丁RevokeMsgPatcher。RevokeMsgPatcher使用.NET 4.5框架开发。有18K+的star。软件还附带了一个微信多开功能!

从 0 开始 MongoDB CRUD 及.Net7 中如何使用

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

  • 前面几篇文章详细的介绍了,如何使用 Ubuntu 系统进行各种模式的集群部署.今天这里我们就开始正式的使用.
  • 由于 MongoDB 操作很多,很多操作还很复杂,需要一些功底,所以这里先从数据库界的 Hello World(CRUD)开始.
  • 本来想直接上来就讲操作的,才发现 Mongodb 的语法和一般数据库不一样,还得先介绍下查询条件.
  • 查询条件常在更新和查询时候使用,当然使用聚合管道的时候也需要使用到.
  • 这里先将支持的操作符分类列举出来.参考官方文档
  • https://www.mongodb.com/docs/rapid/reference/operator/query/

MongoDB 数组及在.NET7 中进行操作

https://mp.weixin.qq.com/s/n4uD8UTWvwpvJdyi-hAfxA

  • MongoDB 作为非常优秀的一款 NoSQL 文档型数据库,在日常的使用中我发现它不但可以替代传统的关系型数据库,而且性能非常优异,若是使用分片集群,更是离谱.
  • 并且在我们的业务系统中实践多年也是没有任何问题.各种业务场景均可以解决.
  • 而我们的数据往往是复杂多样的,常常一个实体中会包含 List, Array, 或者 IEnumerable 类型的数据
  • 这类数据在序列化为 JSON 后,都是以数组类型的格式.所以 MongoDB 中就会有很多数组类型的数据.
  • 然而数组类型的数据在操作的时候又和普通的文档不一样.
  • 所以就产生了今天的话题,如何给 MongoDB 的数组元素中新增数据,查询数组中的数据,以及更新和删除.
  • 所以本文一共 4 个知识点.(其实还有一个知识点,使用 $unwind 对数组元素实现分页查询这种操作.)

MongoDB 事务在.NET7 中的使用

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

  • 背景

    • 在前边的文章中,我们详细的介绍了 MongoDB 的安装, CRUD, 聚合管道等操作.已经对 MongoDB 有了初步的了解.
    • 本文的话就着重于在.NET 中如何使用 MongoDB 事务做一个简要的描述.

UWP 一个技术上成功但商业上失败的框架之死;一个现代的操作系统究竟应该提供什么?

https://anduin.aiursoft.com/post/2023/1/3/uwp-why

2023年初,我习惯性的打开 UWP 的 Mail app,来收发一下日常 Email。但是,令我遗憾的是,它已经建议我尝试新版 Mail App 了。

主题

【英文】2022年的开发者生态系统:C#的关键趋势 | .NET工具博客

https://blog.jetbrains.com/dotnet/2023/01/26/the-developer-ecosystem-in-2022-key-trends-for-c/

JetBrains对2022年C#在开发者生态系统中的主要趋势的研究。

  • C#的版本
  • 发展的领域
  • 使用的运行时版本
  • 使用的IDE和编辑器
  • Visual Studio/Visual Studio Code中的插件
  • 用于单元测试的框架
  • 使用剖析器和诊断工具的频率

【英文】在Visual Studio for Mac 17.5中介绍Git状态栏和测试改进 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/introducing-the-git-status-bar-and-testing-improvements-in-visual-studio-for-mac-17-5/

在Visual Studio for Mac 17.5 Preview 3中介绍Git状态栏和测试改进。

增加了诸如从状态栏检查和更改Git分支的功能。

【英文】dotnet/SqlClient 发布稳定版 v5.1.0

https://github.com/dotnet/SqlClient/releases/tag/v5.1.0

Microsoft.Data.SqlClient 5.1.0已经发布。

支持.NET 6,包括TimeOnly和DateOnly,支持SQL Server 2022的TDS8和TLS 1.3,支持ARM64 .NET框架和删除.NET Core 3.1支持。

【英文】Uno平台4.7 - 新项目模板,性能改进等

https://platform.uno/blog/uno-platform-4-7-new-project-template-performance-improvements-and-more/

Uno平台4.7版已经发布。

这个版本包括一个新的项目模板,字体共享和WebAssembly、NativeAOT、Android等的性能改进。

【英文】npgsql/npgsql发布 v7.0.1

https://github.com/npgsql/npgsql/releases/tag/v7.0.1

Npgsql 7.0.1已经发布。

这个版本修复了几个错误,包括死锁。

【英文】microsoft/WindowsAppSDK 发布 v1.2.3

https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.2.3

Windows App SDK 1.2.3已经发布。

该版本修复了几个问题,包括关闭多个窗口时的崩溃。

【英文】ReSharper Tools and Rider 2022.3.2 BUG-fix更新已经到来!

https://blog.jetbrains.com/dotnet/2023/01/27/resharper-rider-2022-3-2/

ReSharper和Rider 2022.3.2已经发布。

它们中的每一个都修复了一些问题,包括ASP.NET Core项目中的崩溃和错误。

文章、幻灯片等

【日文】用MemoryPack做你自己的版本管理 | Yucchiy的注释

https://blog.yucchiy.com/2023/01/memorypack-custom-versioning/

如何在MemoryPack序列化过程中通过嵌入额外的信息来实现你自己的版本控制。

【英文】在Windows Forms应用程序中使用命令绑定来实现跨平台 - .NET博客

https://devblogs.microsoft.com/dotnet/winforms-cross-platform-dotnet-maui-command-binding/

关于在.NET 7中使用Windows Forms中启用的命令绑定来实现MVVM模式并尝试与.NET MAUI共享代码。

【英文】为最小的API生成参数表达式:最小的API的幕后 - 第四部分

https://andrewlock.net/behind-the-scenes-of-minimal-apis-4-generating-argument-expressions-for-minimal-apis/

看看Minimal APIs的幕后,包括构建处理程序参数表达树和处理可选参数。

【英文】将WPF和WinForms简单地整合到一个通用主机中

https://zenn.dev/nin_neko/articles/292f8a6f0d7ee4

如何在WPF和Windows Forms应用程序中使用通用主机。

【日文】[C#] 在Visual Studio中创建你自己的警告,并与你的团队分享它们

https://zenn.dev/tackme31/articles/2e57a1b1f592ff

如何开发你自己的Roslyn Analyser和CodeFix,以及如何在本地包中分发它们。

【英文】5个.NET MAUI功能用于构建伟大的桌面应用程序 - .NET博客

https://devblogs.microsoft.com/dotnet/5-dotnet-maui-desktop-features/

看一下桌面应用程序的五个.NET MAUI功能。

  • 多窗口
  • 菜单栏
  • 上下文菜单
  • 工具提示
  • 指针手势。

【英文】掌握Visual Studio中Git流程的键盘快捷键 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/keyboard-shortcuts-to-master-your-git-flow-in-visual-studio/

键盘快捷键,帮助你掌握Visual Studio中的Git流程。

【英文】.NET Core和Python之间的简单联合

https://dev.to/devleader/a-simple-union-between-net-core-and-python-5949

简单介绍一下使用Pythonnet从.NET调用Python。

【英文】ASP.NET Core中的基本身份验证 | 软件工程

https://damienbod.com/2023/01/23/basic-authentication-in-asp-net-core/

如何使用idunno.Authentication.Basic包在ASP.NET Core应用程序中实现基本认证。

【英文】用OpenTelemetry轻松追踪.NET应用程序 - 代码迷宫

https://code-maze.com/tracing-dotnet-applications-opentelemetry/

了解如何使用OpenTelemetry来获取.NET应用程序的痕迹。

这篇文章还讨论了向SQL Server获取查询以及使用Jaeger显示查询的步骤。

【英文】C# 12特性: 初级构造方法

https://steven-giesel.com/blogPost/a210c97e-fe68-45de-afa1-d053d75f6f7d

对C# 12中候选引入的主要构造函数的解释。

【英文】EF核心调试第一部分

https://dev.to/karenpayneoregon/ef-core-debugging-part-1-512f

介绍在Entity Framework Core中开发过程中调试和记录的一些有用功能。

【英文】静态库

https://ericsink.com/native_aot/mul_cpp_win_static.html

关于在NativeAOT中作为静态库发布,以及其他出现和应该链接的库。

【英文】开始对你的最小API进行集成测试

https://dev.to/this-is-learning/getting-started-with-integration-testing-for-your-minimal-api-3j0l

如何集成测试一个用最小的API实现的ASP.NET Core应用程序。

【英文】史蒂夫-桑德森通过偷看适用于.NET 8的 "Blazor United "使网络开发人员感到震惊 -《Visual Studio》杂志

https://visualstudiomagazine.com/articles/2023/01/26/blazor-united.aspx

关于Blazor United,正在为.NET 8中的Blazor开发一个原型。

Blazor United是一个原型,它在客户端的Razor Pages、Blazor Server和Blazor WebAssembly之间提供了无缝过渡。

开源库、资源库、工具等。

数组的结构源生成器,为.NET和Unity中的高性能代码制作CPU Cache和SIMD友好的数据结构。

https://github.com/Cysharp/StructureOfArraysGenerator

源码生成器,用于轻松处理一个名为Arrays结构的数据结构。

网站、文件等

推文

谈到Visual Studio 2022预览版如何能像VSCode的REST客户端一样用.http文件做事情。

https://twitter.com/hassanrezkhabib/status/1617734005306294272?s=12


Visual Studio 2022预览版谈到了Endpoints Explorer的可用性,它允许你看到你的ASP.NET Core项目的端点(Rider有类似的功能)。

https://twitter.com/hassanrezkhabib/status/1617064597105823748?s=12

深入理解

[API建议]: 非合作性的代码执行中止 · Issue #69622 · dotnet/runtime

https://github.com/dotnet/runtime/issues/69622

自.NET 7以来,增加了一个名为ControlledExecution.Run的方法,以强制中断运行中的代码。

它打算在类似REPL的环境中使用,而不是在生产环境中使用,因为应用程序的内部状态可能得不到保证。

WASI支持跟踪 · Issue #65895 · dotnet/runtime

https://github.com/dotnet/runtime/issues/65895

关于在.NET中支持WASI(WebAssembly系统接口)的进展问题。

版权声明

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.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周报【1月第4期 2023-01-28】的更多相关文章

  1. .NET周报【10月第3期 2022-10-25】

    国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...

  2. .NET周报【11月第1期 2022-11-07】

    国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...

  3. .NET周报【10月第1期 2022-10-11】

    本周精选 继C#实现await/async无栈协程几年后,davidwrighton实现了.NET绿色线程(有栈协程)的原型 https://github.com/dotnet/runtimelab/ ...

  4. .NET周报【10月第2期 2022-10-17】

    主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...

  5. 七牛云 GO 语言周报【七月第 2 期】

    全世界有多少 Gopher? 上周的周报中,我们介绍了 Go 语言的排名已经进入到前十.那么世界上到底有多少 Gopher 呢? 作者列出了以下计算公式: Gopher 数量 = 全世界的开发者数量 ...

  6. F#周报2019年第11期

    新闻 Bolero:WebAssembly中的F# 尝试WebAssembly里的F# JetBrains的fsharp-support 2019.1 ML.NET 0.11发布 Outreachy内 ...

  7. F#周报2019年第16期

    新闻 Ionide试验版本 FSharp路线图介绍 Blazor官方预览 .NET Framework 4.8发布 .NET Core 3 Preview 4发布 需要来自FSharp.Data.Sq ...

  8. F#周报2019年第7期

    新闻 Visual Studio 2019预览版3,F#性能修复 Bolero 0.3发布,HTML模版热加载 Fantomas在线升级至Fantomas 2.9.2 使用F#开发的随机访问Excel ...

  9. F#周报2019年第17期

    新闻 .NET版本的Apache Spark Apache Spark预览版介绍 F# Apache Spark示例 微软Build 2019大会(5月6日至8日) Rider用于F#的解决方案内的重 ...

  10. F#周报2018年第51期

    新闻 有经验的开发者选择F# 2018年10佳技术讲话 试用F#开发WebAssembly Fable.Remoting: 刷新访问令牌 F#开发WebAssembly现在可以使用代码补全 Rider ...

随机推荐

  1. JWT中token的理解

    今天我们来聊一聊关于JWT授权的事情. JWT:Json Web Token.顾名思义,它是一种在Web中,使用Json来进行Token授权的方案. 既然没有找好密码,token是如何解决信任问题的呢 ...

  2. Microsoft Office MSDT代码执行漏洞(CVE-2022-30190)漏洞复现

    目录 免责声明: CVE-2022-30190漏洞复现 漏洞概述: 影响版本: 漏洞复现: 使用方法: 利用: 修复建议: 参考: 免责声明: 本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他 ...

  3. AArch32/AArch64应用程序级内存模型(五)

    本文主要为了记录在学习armv8的过程中的一些感悟.由于原文部分章节晦涩难懂,作者参考了网上很多优秀博主的部分章节(可能是直接摘录)并结合自己的理解重新整理了当前这个版本.文中不免有部分章节讲解很浅, ...

  4. c++ const和指针

    const int *p: 定义指针,指向的变量的值不能修改(指向整型常量或普通整型,但值不能通过指针修改) int const *p: 同上 int * const p=&a: 一直指向a, ...

  5. 关于mysql在linux(deb系)遇到的问题及解决方法

    前言 当我在树莓派上安装 mysql 数据库的时候,默认安装的是mariadb 数据库,不过没什么区别(在我看来),然后就是闹心的解决各种问题了 1. mysql 在root用户下无密码登录问题 这个 ...

  6. webflux延迟队列逻辑更改过程记录

    title : webflux延迟队列逻辑更改过程记录 author : simonLee date : 2022/11/22 10:26 目录 webflux延迟队列逻辑更改过程记录 一.问题背景 ...

  7. 监控Kubernetes集群证书过期时间的三种方案

    前言 Kubernetes 中大量用到了证书, 比如 ca证书.以及 kubelet.apiserver.proxy.etcd等组件,还有 kubeconfig 文件. 如果证书过期,轻则无法登录 K ...

  8. CSS中和颜色及渐变

    CSS可以设置的颜色 颜色名称 transparent(全透明黑色) pink yellowgreen 等指定的颜色名称 16进制 #ABCDEF 参数 含义 范围 AB 红色渠道值 00-FF CD ...

  9. [数学建模]主成分分析法PCA

    最常用的线性降维方法,通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性. Q1:为何选取方差 ...

  10. 多种方法实现单例模式 pickle模块

    目录 单例模式 类方法@classmethod实现 元类实现 模块实现 装饰器实现 双下call.反射实现 pickle序列化模块 单例模式 比如系统调用打印机,不管你要打印几次,都是调用同一个打印机 ...