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

国内文章

开源·安全·赋能 - .NET Conf China 2022

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

.NET Conf China 2022 是面向开发人员的社区峰会,延续 .NET Conf 2022 的活动,庆祝 .NET 7 的发布和回顾过去一年来 .NET 在中国的发展成果,它是由中国各地区的技术社区共同发起举办、知名企业和开源组织联合协办,是年度国内规模最大的 .NET 线上和线下会议,目的是用中文传播 .NET 相关技术的知识和经验。

今年,.NET 相关技术社区将一起,于2022 年 12 月 3 日~4 日 举办为期两天的 .NET Conf China,邀请 .NET 中国开发者共襄盛举。

.NET 零开销抽象指南

https://www.cnblogs.com/hez2010/p/dotnet-zero-abstraction.html

目前已经到了 .NET 7 和 C# 11,我们已经能找到大量的相关设施,不过我们仍处在改进进程的中途。本文则利用目前为止已有的设施,讲讲如何在 .NET 中进行零开销的抽象。

如何在.NET 程序崩溃时自动创建 Dump?

https://www.cnblogs.com/InCerry/archive/2022/11/02/how_to_automic_create_dump_when_app_crash.html 

介绍了几种当.NET 程序崩溃自动创建 Dump 的方式。

聊一聊对一个 C# 商业程序的反反调试

https://www.cnblogs.com/huangxincheng/archive/2022/11/02/16849808.html

介绍了如何对商业程序反调试机制进行破解,从而达到逆向分析的目的。

C# 9.0 添加和增强的功能【基础篇】

https://www.cnblogs.com/czzj/archive/2022/11/03/16845334.html

介绍了在 C# 9.0 中添加的新的语法和功能。

.NET 性能系列文章二:Newtonsoft.Json vs. System.Text.Json

https://www.cnblogs.com/InCerry/archive/2022/10/31/net-performance-series-2-newtonsoft-vs-system-text-json-2bf43e037db0.html

比较 Newtonsoft.Json 和 System.Text.Json 的性能,System.Text.Json 的性能是否已经超越了其它 Json 序列化库。

为.NET 应用添加截图功能

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

本文介绍了 .NET 实现截图功能的思路和过程,如果你仅想了解最后的解决方案,可以直接查看文章末尾。

C# 的 async/await 其实是 stackless coroutine

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

和大家聊一聊关于.NET 无栈协程的事情。

主题

议程 - .NET Conf 2022

https://www.dotnetconf.net/agenda

2022 年 dotnetconf 大会的举办时间为 11 月 8 日晚(中国时间)至 11 月 11 日。

NET Conf 2022 回顾活动东京~微软日本社区活动之旅系列 - 微软活动

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

NET Conf 2022 回顾活动将于 12 月 6 日星期二在东京举行。该活动将在微软日本总部举行,可免费参加。

在 2022 年的国际互联网大会上,晚上的会议将包括一个招待会、"询问发言人 "和社区的闪电讲座。

在.NET 会议学生区创建你的.NET 投资组合 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-conf-2022-student-zone/

.NET 学生区,是在.NET 大会上为学生提供的直播活动。

在.NET 学生区,你可以了解到关于.NET 的各种信息。.NET Conf 学生区云技能挑战赛,三名参与者(学生)将赢得 SWAG(奖品)。

ASP.NET Core 7 的性能改进 - .NET 博客

https://devblogs.microsoft.com/dotnet/performance-improvements-in-aspnet-core-7/

一篇解释.NET 7 中 ASP.NET Core 的性能改进的文章。

它解释了各种性能改进以及基准。

  • 通用服务器

    • 内存池分区

    • 将 Windows 的 IO 池切换到使用管理实现

    • 减少连接关闭时的异常情况。

    • 扩展了 PoolingAsyncValueTaskMethodBuilder 的应用

  • HTTP/2

    • 减少锁的争夺

    • 增加默认窗口大小

  • HTTP/3

    • 改进的 QPack 处理

  • 杂项

    • SignalR

    • 认证

    • HttpResult

    • IndexOfAny

    • Filters

.NET 7 在.NET MAUI 中的性能改进 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-7-performance-improvements-in-dotnet-maui/

描述.NET 7 中.NET MAUI 性能改进的文章。

它深入研究了启动时间、应用程序大小和滚动性能方面的改进。

  • 滚动和布局性能的改进

    • LOLs/秒。

    • 避免重复调用View.Context

    • 避免在CollectionView中调用View.Context

    • 减少布局时的 JNI 调用

    • 缓存 RTL 和黑暗模式值

    • 避免在布局过程中生成 "IView[]"。

    • 将 RTL 布局计算留给平台

    • 关于 "CollectionView "的其他说明。

  • 启动时的性能改进

    • 安卓 NDK 编译器标志

    • DateTimeOffset.Now

    • 避免 "ColorStateList(int[][],int[])"。

    • 为.NET MAUI 改进 AOT 配置文件

    • 在 Java 互操作性中更好的字符串比较

    • 改进了 XAML 的编译工作

    • 在 Windows 上默认启用 ReadyToRun 的功能

    • 默认启用 macOS 上的双体系结构

    • 关于RegexOptions.Compiled的说明。

    • Mono 解释器的改进

  • 应用规模的改进

    • 修复安卓系统中 DebuggerSupport 修剪器值的问题

    • R8 Java Code Shrinker 的改进

    • 能够排除 Kotlin 相关的文件

    • 改进泛型中的 AOT 输出

  • 工具和文件

    • 剖析.NET MAUI 应用程序

    • 启动时间测量

    • 应用规模报告工具

    • 试验或高级配置

Uno Platform 4.6: Hello .NET 7!

https://platform.uno/blog/uno-platform-4-6-hello-net-7/

宣布 Uno 平台 4.6 将支持.NET 7。

文章介绍了 Uno 平台 4.6 的改进,包括对.NET 7 和 Visual Studio 17.4 的支持、库资源、SVG 支持、Android 13 支持、WebAssembly Bootstrap 7.0、ASP.NET Core 介绍了托管项目。

用 CoreWCF 和升级助手将 WCF 应用程序带到最新的.NET 上 - .NET 博客

https://devblogs.microsoft.com/dotnet/migration-wcf-to-corewcf-upgrade-assistant/

介绍用于将.NET Framework WCF 项目迁移到 CoreWCF 的升级助手的文章。

这篇文章描述了该工具的安装和执行,以及基于一个示例项目所执行的迁移过程。它指出,一些不支持的自动升级包括基于网络或使用.svc 文件的服务、使用 XML 的行为配置、NetTcpBinding 或不基于 HTTP 的绑定等。

宣布.NET 社区工具包 v8.1.0 预览版 1 - .NET 博客

https://devblogs.microsoft.com/dotnet/announcing-dotnet-community-toolkit-v810-preview-1/

宣布.NET 社区工具包 v8.1.0 预览版 1。

MVVM 工具包源生成器支持 ObservableProperty 的自定义属性,优化源生成器本身,IObservable<T>信使扩展,支持.NET 7 和 C# 11(Ref<T>NullableRef<T>,等等)和其他各种改进。

.NET Interactive Notebooks 改名为 Polyglot Notebooks!

https://devblogs.microsoft.com/dotnet/dotnet-interactive-notebooks-is-now-polyglot-notebooks/

伴随着.NET Interactive Notebooks 的发展,现在改名为 Polyglot Notebooks!

Visual Studio Code 上的一个扩展 - .NET Interactive Notebooks,已经更名为 Polyglot Notebooks。

由于对.NET Interactive Notebooks 的支持增加,该名称已不再合适,因此改名为 Polyglo tNotebooks。

文章、PPT 等

neue cc - MemoryPack 中.NET 7/C# 11 代的串行器优化技术。

https://neue.cc/2022/11/04_memorypack.html

文章描述了基于 MemoryPack 的二进制序列器实现的.NET 7 / C# 11 代中的序列器优化技术。

SkiaSharp: 用 SKShader 进行阴影填充

https://bclehmann.github.io/2022/11/05/HatchingWithSKShader.html

关于如何在 SkiaSharp 中使用 SKShader 进行填充的文章。

SkiaSharp: 用 SKColourFilter 进行解密

https://bclehmann.github.io/2022/11/06/UnmaskingWithSKColorFilter.html

关于如何在 SkiaSharp 中使用 SKColourFilter 来改变颜色的文章。

在 ASP.NET Core 应用程序中使用 Azure AD 与多租户切换租户

https://damienbod.com/2022/10/31/switch-tenants-in-an-asp-net-core-app-using-azure-ad-with-multi-tenants/

关于如何在 Azure AD 中切换多租户的 ASP.NET Core 应用程序的租户的文章。

在 C#.NET 中矢量类的条件分支(if...then...else) - Qiita

https://qiita.com/C5D5E5/items/dd9da77e24752ff50cec

关于Vector.ConditionalSelect的文章,当使用 Vector.ConditionalSelect 时,用于条件性分支。

Dotnet(.NET)WinUI、Uno 和 Maui 应用程序的性能跟踪 - Nick 的.NET 旅行

https://nicksnettravels.builttoroam.com/dotnet-trace/

关于如何使用 dotnet-trace 和 dotnet-dsrouter 来获得 WinUI、Uno Platform 和 MAUI 应用程序的跟踪的文章。

异步互斥 | David 的博客

https://dfederm.com/async-mutex/

关于实现 AsyncMutex 的文章,它包装了 Mutex 并使其可用于 async/await。

[C#]调试时需要的字节数组的十六进制转储 - Qiita

https://qiita.com/amutou/items/6a0954c7bf190127f3ef

输出十六进制转储的代码,如 od 命令或二进制编辑器。

在 C#中基本数字类型之间的计算是什么类型? - 齐塔

https://qiita.com/full_deviation/items/a1e01871c33673fd66af

C#数字类型(sbyte,byte,ushort,short,uint,int...)。这篇文章研究了计算以下每种类型的组合时的结果类型。

容器化的 Blazor:微软正在考虑新的客户端主机 - Visual Studio 杂志

https://visualstudiomagazine.com/articles/2022/11/02/blazor-docker.aspx

一篇关于使 Blazor WebAssembly 可容器化的讨论,与 Blazor Server 不同,Blazor Server 是静态构建的,不需要 ASP.NET Core 作为方法。

.NET 月报 | 2022 年 11 月 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2022/11/02/net-annotated-monthly-november-2022/

JetBrains 的.NET 相关信息汇编 2022 年 11 月。

Visual Studio 如何使用 Visual Studio 来构建 Visual Studio - Microsoft Ignite - Session Catalogue

https://ignite.microsoft.com/ja-JP/sessions/bafdbcbc-f9e3-49ed-ac0b-fd1dd8cbc155?source=sessions

关于 Visual Studio 背后的团队为发展 Visual Studio 所做的事情的会议。

有效地建立一个非常大的项目的内部运作,如 Visual Studio,自动化测试和性能跟踪。

开源库

AutumnSky1010/SoundMaker: 你可以用这个库做以下内容,并把 chiptune 的声音导出为 wave 格式的文件。

https://github.com/AutumnSky1010/SoundMaker

用于生成/输出类似于 chiptune 的音乐的库。

tompazourek/NaturalSort.Extension: 🔀 StringComparison 的扩展方法,增加了对自然排序的支持(例如 "abc1", "abc2", "abc10",而不是 "abc1", "abc10", "abc2")。

https://github.com/tompazourek/NaturalSort.Extension

Explorer 文件名排序中使用的自然顺序排序的扩展库。

  • 在 Blazor WebAssembly 中按自然顺序对文件名进行排序。- Qiita[1]

devlooped/avatar: 一个现代化的编译时生成的拦截/代理库

https://github.com/devlooped/avatar

一个拦截库,通过使用 Source Generator 在编译时生成代理。使用源码生成器可以在不能进行 IL 的 Emit(动态代码生成)的环境下运行。

  • 关于 Moq 中使用的 Avatar 库的一点研究た - Qiita[2]

jinek/Consolonia: 一个适用于.NET 的跨平台 UI 框架.

https://github.com/jinek/Consolonia

在控制台实现 Avalonia 用户界面。

  • 使用 Consolonia 在文本控制台运行的 Avalonia UI 应用程序[3]

pierre3/PlantUmlClassDiagramGenerator: 这是一个生成器,用于从 C#源代码中创建 PlantUML 的类图。

https://github.com/pierre3/PlantUmlClassDiagramGenerator

基于 C#源代码生成 PlantUML 类图的工具。

  • PlantUmlClassDiagramGenerator 1.3.0,一个从 C#源代码生成 PlantUML 类图的工具,现在可以使用了! - Qiita[4]

ststeiger/PdfSharpCore: 将 PdfSharp 库移植到.NET Core 中 - 基本上删除了 GDI+(只缺少 GetFontData- 可以用 freetype2 代替)。

https://github.com/ststeiger/PdfSharpCore

一个用于生成 PDF 的库,由 PdfSharp for .NET Core 修改而成。

  • PdfSharpCore 简介[5]

深入理解

优化 XxHash3 性能 by xoofx · Pull Request #77756 · dotnet/runtime

https://github.com/dotnet/runtime/pull/77756

XxHash3 优化的 PR

  • 在 ARM 平台上优化 XxHash3 by xoofx · Pull Request #77881 · dotnet/runtime[6]

添加 XxHash128 实现 by xoofx · Pull Request #77944 · dotnet/runtime

https://github.com/dotnet/runtime/pull/77944

增加 XxHash128 实现的建议和 PR

  • [API Proposal]: XxHash128 · Issue #77885 · dotnet/runtime[7]

版权声明

  • InCerry 翻译与整理 : https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-11-07.md

  • Myuki WeekRef : https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-11-07.md

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET 周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交 Issue 或者在我的微信公众号私信。

格式如下:

  • 10~50 字左右的标题

  • 对应文章或项目网址访问链接

  • 200 字以内的简介,如果太长会影响阅读体验

https://github.com/InCerryGit/WeekRef.NET

参考资料

[1]

在Blazor WebAssembly中按自然顺序对文件名进行排序。- Qiita: https://qiita.com/kaorumori/items/712f87a25a3930068c3e

[2]

关于Moq中使用的Avatar库的一点研究た - Qiita: https://qiita.com/mngreen/items/35e45714b1e7540ffd62

[3]

使用Consolonia在文本控制台运行的Avalonia UI应用程序: https://www.youtube.com/watch?v=yyVuvjYycCo

[4]

PlantUmlClassDiagramGenerator 1.3.0,一个从C#源代码生成PlantUML类图的工具,现在可以使用了!  - Qiita: https://qiita.com/pierusan2010/items/fbaa8fdf9b7f998bf56f

[5]

PdfSharpCore简介: https://zenn.dev/masmgr/articles/f8557ade054b71

[6]

在ARM平台上优化XxHash3 by xoofx · Pull Request #77881 · dotnet/runtime: https://github.com/dotnet/runtime/pull/77881

[7]

[API Proposal]: XxHash128 · Issue #77885 · dotnet/runtime: https://github.com/dotnet/runtime/issues/77885

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React - 状态提升

从入门的角度来聊一下React 的状态提升。我们先来看一下React官网是怎么介绍这一概念的&#xff1a;使用 react 经常会遇到几个组件需要共用状态数据的情况。这种情况下&#xff0c;我们最好将这部分共享的状态提升至他们最近的父组件当中进行管理。很简单的一句介绍&#xff0…

saltstack(三) --- salt-httpapi

以下操作均在master上操作 1. 安装api netapi modules&#xff08;httpapi&#xff09;有三种&#xff0c;分别是rest_cherrypy、rest_tornado、rest_wsig&#xff0c;接下来要讲的是rest_cherrypydoc&#xff1a;https://docs.saltstack.com/en/latest/ref/netapi/all/salt.ne…

c++实现二叉搜索树

自己实现了一下二叉搜索树的数据结构。记录一下&#xff1a; #include <iostream>using namespace std;struct TreeNode{int val;TreeNode *left;TreeNode *right;TreeNode(int value) { valvalue; leftNULL; rightNULL; } };class SearchTree{public:SearchTree();~Sear…

一款自用的翻译小工具,开源了

一款自用的翻译小工具&#xff0c;开源了TranslationTool作者&#xff1a;WPFDevelopersOrg - 唐宋元明清|驚鏵原文链接&#xff1a;https://github.com/Kybs0/TranslationTool此项目使用WPF MVVM开发。框架使用大于等于.NET461。Visual Studio 2019。最初是支持以下&#xff1…

JS使用按位异或方式加密字符串

按位异或加密字符串&#xff0c;字符串加解密都是该函数 缺陷是加密密钥使用的字符最好不要出现需要加密的字符串中的字符&#xff0c;一旦出现原字符与加密字符一样额情况&#xff0c;异或结果为0&#xff0c;导致不能还原字符串&#xff0c;可以考虑更改算法避免这种情况 im…

SCSS 实用知识汇总

1、变量声明 $nav-color: #F90; nav {//$width 变量的作用域仅限于{}内$width: 100px;width: $width;color: $nav-color; }.a {//报错&#xff0c;$width未定义width: $width; } 2、父选择器& scss代码&#xff1a; article a {color: blue;&:hover { color: red } } 编…

【ELK集群+MQ】通用部署方案以及快速实现MQ发布订阅服务功能

前言&#xff1a;大概一年多前写过一个部署ELK系列的博客文章&#xff0c;前不久刚好在部署一个ELK的解决方案&#xff0c;我顺便就把一些基础的部分拎出来&#xff0c;再整合成一期文章。大概内容包括&#xff1a;搭建ELK集群&#xff0c;以及写一个简单的MQ服务。如果需要看一…

python容错

#try: except: else: #为什么叫容错呢&#xff0c;先说说错误&#xff0c;这里说的错误并不是因为马虎或者什么原因在脚本中留下的bug&#xff0c;这个不能容掉&#xff0c;所谓容掉就是略过这个错误&#xff0c;要在测试时候发现并修正&#xff0c;需要容错的错误是在脚本执行…

git stash参数介绍

git stash 用于暂存工作区未提交的内容&#xff0c;便于在同时开发多个分支需要切换时保存当前分支进度。 list 语法 git stash list [<options>] &#xff0c;与git log功能类似&#xff0c;列出储藏列表&#xff0c;options 参数可以参考git log的参数 show 语法 git …

多语言报表的改动方法

在定义上传RTF模板的时候&#xff0c;会有一个是否可翻译的选项&#xff0c;选择之后。就能够上传xlf文件作为翻译内容。 对于已经存在的多语言类型报表&#xff0c;稍作改动之后再上传&#xff0c;可能会出现下面现象&#xff1a; 进程出现了“未完毕”的提示 想要改动非常eas…

自定义Cell的流程

1、.h文件 // // 文 件 名:CHBackupGateWayCell.h // // 版权所有:Copyright © 2018 lelight. All rights reserved. // 创 建 者:lelight // 创建日期:2018/12/19. // 文档说明: // 修 改 人: // 修改日期: //#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGINclass…

JS实时监听DOM元素变化 - MutationObserver

使用 MutationObserver API实时监听DOM元素变化 创建 MutationObserver 实列&#xff0c;接受一个用于监听到DOM元素变化的回调函数 const handleListenChange (mutationsList, observer) > {console.log(mutationsList, observer) } const mutationObserver new Mutati…

LightOJ - 1027 A Dangerous Maze —— 期望

题目链接&#xff1a;https://vjudge.net/problem/LightOJ-1027 1027 - A Dangerous MazePDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBYou are in a maze; seeing n doors in front of you in beginning. You can choose any door you like. The p…

MASA MAUI Plugin (六)集成个推,实现本地消息推送[Android] 篇

背景MAUI的出现&#xff0c;赋予了广大.Net开发者开发多平台应用的能力&#xff0c;MAUI 是Xamarin.Forms演变而来&#xff0c;但是相比Xamarin性能更好&#xff0c;可扩展性更强&#xff0c;结构更简单。但是MAUI对于平台相关的实现并不完整。所以MASA团队开展了一个实验性项目…

第八天

配置文件 Vi /etc/fstab /dev/vg01/lv01 /dir01 ext4 defaults mount -a 扫描 使用交换空间 1.创建分区 2.mkswap /dev/sda创建交换分区 3.swapon /dev/sda启用交换分区 Linux系统启动过程 1、引导程序 BIOS自检 &#xff08;硬件自检&#xff09; 2、G…

iOS 通知中心(NSNotificationCenter)

NSNotificationCenter 在这里第一步和第二步的顺序可以互换&#xff0c;一般楼主我喜欢先在需要发送消息的页面发送消息&#xff0c;然后再在需要监听的页面注册监听。要注意的是不管是通知中心还是KVO都需要在页面销毁之前移除监听。 注册观察者/*** 观察者注册消息通知*…

vue-router和react-router嵌套路由layout配置方案的区别

最近在学习react&#xff0c;在路由这一块有点看不懂&#xff0c;第一感觉是灵活性很大&#xff0c;想怎么来就怎么来&#xff0c;但问题也来了&#xff0c;稍微复杂一点就GG了&#xff0c;不如vue的傻瓜式配置来的方便。 先说一下vue的路由配置方式&#xff0c;目录结构如下&…

微软加更.NET7中文手册,都有哪些新亮点?

11月8号发布了.NET7&#xff0c;从底层性能改进&#xff0c;到上层API升级&#xff0c;让.NET7综合性能再度提升&#xff01;同时发布了最新的C#11&#xff0c;也带来了很多小惊喜。如何快捷学习最新的.NET7和C#11&#xff1f;答案只有一个&#xff0c;微软官方中文文档&#x…

jquery对json的各种遍历

http://caibaojian.com/jquery-each-json.html转载于:https://www.cnblogs.com/pxffly/p/8442448.html

中级工程师之路

前言&#xff1a;之前在问答中问了一个问题 毕业半年感觉没什么进步该怎么办&#xff1f; 这个问题一直让我感觉比计较焦虑。于是在一个关于面试经验的博客中找到了一些灵感。就是通过问题进行学习&#xff0c;对自身的知识体系进行整理和补充。以问题作为切入点&#xff0c;不…