https://www.cnblogs.com/savorboard/p/cap-7-0.html)
今天,我们很高兴宣布 CAP 发布 7.0 版本正式版,我们在这个版本中带来了大批新特性以及对性能的优化和改进。
本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通过本文解释了他是如何将序列化程序性能提升到极致的;其中从很多方面(可变长度、字符串、集合等)解释了一些性能优化的技巧,值得每一个开发人员学习,特别是框架的开发人员的学习,一定能让大家获益匪浅。
https://www.cnblogs.com/huangxincheng/p/16945067.html
这周有个朋友找到我,说他的程序出现了内存缓慢增长,没有回头的趋势,让我帮忙看下到底怎么回事,据朋友说这个问题已经困扰他快一周了,还是没能找到最终的问题,看样子这个问题比较***钻,不管怎么说,先祭出 WinDbg。
https://www.cnblogs.com/zhenlei520/p/16945150.html
本文介绍了什么是领域驱动设计,另外如何通过MasaFramework实现领域驱动设计。
https://mp.weixin.qq.com/s/reWHEi-LxPqh6JCoORke8A
.NET 20 周年, 在国内有一大批和 .NET 一起成长的开发者,有一大批在不同行业采用 .NET 作为解决方案的企业。或者你会经常听到很多的大神说他的 .NET 经历,也会听到 .NET “牛逼” 的故事,更会听到用 .NET 不用“996”的神话。但对于一个完整的技术生态,作为一名 .NET"老兵“ 应该让更多的年轻人学习 .NET , 让更多新的创意通过 .NET 创造。
https://mp.weixin.qq.com/s/062T1v7lcCxW9OwsThDp9A
Unity坚定的拥抱.NET标准生态,正全速向CoreCLR迁移。
https://mp.weixin.qq.com/s/uyj0uiyd4X3qlcfM9AobkQ
你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用!Notepads 是一个具有简约设计的现代化轻量级文本编辑器,在 github 上开源,由微软大佬 Jiaqi Liu 开发。
https://mp.weixin.qq.com/s/FQoU4IPe6bZg96zsIiFfyg
NCC ShardingCore 是一款 EntityFramework Core based 高性能、轻量级、分表分库、读写分离解决方案,具有零依赖、零学习成本、零业务代码入侵等特点。ShardingCore 7.0 已于近期发布。
https://mp.weixin.qq.com/s/80W6Fb2gCdGJaoNp33S3pA
动态编译库 Natasha 5.0 于十月份发布,此次大版本更新带来了强大的兼容性支持,目前 Natasha 已支持 .NET Standard 2.0 及 .NET Core 3.1 以上版本(包括 .NET Framework)了。
https://mp.weixin.qq.com/s/BzWQ1kQWjA9w7qIajhTing
大家好,宝弟今天给大家推荐一套全功能的软NVR接口平台AKStream,AKStream是一套全功能的流媒体管理控制接口平台。集成GB28181,RTSP,RTMP,HTTP等设备推拉流控制、PTZ控制、音视频文件录制管理、音视频文件裁剪合并等功能与一体AKStream使用.Net6框架,采用C#语言编写。
https://mp.weixin.qq.com/s/tZDaW6S9tE7tsnusTYq0xQ
本文将介绍使用.NET开发的一款桌面截图 OCR 工具,软件已开源,地址:https://github.com/sangyuxiaowu/Snipping_OCR
https://mp.weixin.qq.com/s/zZ2KkmEXgdK_bhTyXDsl6w
本文介绍了System.Text.Json
返回抽象类集合时无法处理派生类的问题,并给出了解决方案。
https://qiita.com/advent-calendar/2022/csharplang
2022年的C#活动日程。
2022年英语圈的C#活动日程。
https://blog.jetbrains.com/dotnet/2022/12/07/rider-2022-3/
Rider 2022.3已经发布。
这篇文章涵盖了这个版本中的以下主题
https://blog.jetbrains.com/dotnet/2022/12/07/resharper-2022-3/
ReSharper 2022.3已经发布。
这篇文章涵盖了这个版本中的以下主题
https://blog.jetbrains.com/dotnet/2022/12/07/dotcover-dotmemory-dotpeek-dottrace-2022-3/
dotCover, dotMemory, dotPeek 和 dotTrace 2022.3已经发布。
https://devblogs.microsoft.com/devops/upgrade-of-net-agent-for-azure-pipelines/
宣布将Azure Pipelines的.NET Agent从.NET Core 3.1升级到.NET 6。
为了支持新的操作系统和架构,并且因为对.NET Core 3.1的支持将于12月13日结束,所以我们将于12月13日推出.NET Core 3.1。
新的代理将分三个阶段推出。 第一阶段为预览版,有一个新闻发布版本可供下载和测试;第二阶段为微软托管的代理池的更新;第三阶段为自我托管的代理产品。
这篇文章还包含了关于自我托管池中的更新的说明和常见问题。
https://github.com/icsharpcode/ILSpy/releases/tag/v8.0-preview3
ILSpy 8.0 Preview 3已经发布。
这个版本包括对C# 11必要成员的支持,对Roslyn模式检测的更新,以及其他错误和改进。
https://ikorin2.hatenablog.jp/entry/2022/11/29/201801
文章介绍了一个黑客技术,如果你用CallerArgumentExpression
作为使用InterpolatedStringHandler
的处理程序构造函数的第一个参数,你可以在格式化之前得到字符串。
然而,这种行为并不是原来所期望的,可能会被修复。
https://blog.jetbrains.com/dotnet/2022/12/01/improved-startup-performance-in-rider-2022-3/
关于改进Rider 2022.3(现在的EAP)中的启动性能的文章。
Rider 2022.3在IDE冷启动、项目加载时间、文件和汇编扫描、垃圾收集和内存使用等方面进行了改进。
https://dev.to/canro91/how-to-write-tests-for-httpclient-using-moq-2i9e
关于用Moq为HttpClient调用编写测试的文章。
https://medium.com/@norm.bryar/conveying-context-with-asynclocal-91fa474a5b42
关于用AsyncLocal<T>
实现环境上下文(跨多个函数、组件和任务共享数据)的文章。
https://qiita.com/yaju/items/882e1de76a763e098fce
一篇回顾文章,介绍了2022年关于Visual Basic的事件和文章。
https://zenn.dev/shimat/articles/5b81d6627491ab
文章研究了C#9中引入的记录类型的位置参数上界。
这篇文章还讨论了JSON序列化器中的上限。
https://qiita.com/RyotaMurohoshi/items/71a84fe7a5cf8df57054
文章介绍了在.NET 7中为LINQ添加的Order
和OrderDescending
方法。
关于正则表达式回溯导致的ReDoS漏洞的文章。
它描述了各种正则表达式模式及其执行时间,并介绍了避免灾难性回溯的方法。
https://qiita.com/haruka_kotani/items/6f470579b86b005c6cb9
一篇简要介绍C# 11新特性的文章:原始字符串字面、换行字符串完成、UTF-8字符串字面、必要成员和文件本地类型。
https://zenn.dev/dynamitecoolguy/articles/17612f6624da4d
关于如何在Windows的Rider上使用WSL容器构建ASP.NET Core开发环境的文章。
https://www.theregister.com/AMP/2022/12/01/net_open_source_heavily_underfunded/
关于AWS对开源的投资的文章。
https://blog.azure.moe/2022/12/03/visual-studio-2022-の-intellicode-の入力候補の適用キーを変えたい/
关于如何从Tab键改变IntelliCode(所谓的AI代码完成)的确认的文章。
它说你可以在Visual Studio中改变设置,用→(右方向键)确认(你不能把它改为任何键)。
https://ufcpp.net/blog/2022/12/rawstringwhitespace/
关于C# 11对原始字符串字元中空白的处理的文章。
它解释了各种空白字符以及在缩进中如何处理它们。
https://blog.jetbrains.com/dotnet/2022/12/05/net-annotated-monthly-december-2022/
jetbrains公司于2022年12月汇编了与.NET有关的信息。
https://ufcpp.net/blog/2022/12/stackalloc-natural-type/
一篇关于stackalloc确定的自然类型如何根据描述方式而变化的文章,作为确定变量类型时的一种推论。
例如,var a = stackalloc byte[10];
会有类型指针(byte*
),但var a = (stackalloc byte[10]);
会有Span<byte>
。
https://devblogs.microsoft.com/dotnet/whats-new-in-the-dotnet-maui-community-toolkit/
关于.NET MAUI社区工具包的新功能的文章。
文章解释了新增加的组件和平台支持,以及已发布版本(1.4.0、2.0.0和3.0.0)之间的差异。
文章提供了关于ESLint支持的背景,这是Visual Studio 2022 17.4中的新内容。
这篇文章描述了由vscode-eslint启发的LSP扩展,包括启用服务的过程。
https://devblogs.microsoft.com/dotnet/custom-controls-for-winforms-out-of-process-designer/
这篇文章解释了如何在WinForms的.NET Core及以上版本的进程外设计器中支持自定义控件,该设计器在Visual Studio中使用。 它展示了如何通过一个示例项目进行迁移。
https://codewithmukesh.com/blog/amazon-cloudwatch-logging-serilog-dotnet/
文章描述了如何使用Serilog从ASP.NET Core(M.E.L.ILogger
)到Amazon Cloudwatch的日志。
https://anthonygiretti.com/2022/12/04/introducing-c11-newlines-in-string-interpolation-expressions/
关于C#11如何允许在字符串插补括号中使用换行符的文章。
https://zenn.dev/shimat/articles/03ad92427cbed6
文章介绍了使用GitHub Actions从拉动请求构建时如何测量代码覆盖率,以及如何在评论中留下报告。
https://qiita.com/fukasawah/items/c42b586745be56fed674
关于如何使TimeZoneInfo.Local
返回一个UTC的值,忽略系统时区的文章。
文章介绍了如何通过强行用反思代替来处理这个问题,以及尝试的原因。
https://qiita.com/kaorumori/items/d6d68987b8468f8f6b32
文章介绍了计划在.NET 8中用WebAssembly浏览器应用程序(不是Blazor)运行Blazor WebAssembly的多线程功能的步骤,作为.NET 7的实验性功能。
这篇文章证实了在实际负载下使用多个内核。
https://qiita.com/MAUIHighSchool/items/1ffcfa508342fc250757
关于如何在Windows上直接从Visual Studio部署和调试iOS应用程序的文章。
文章展示了使用C# 11特性并使该代码在.NET Fiddle中可执行的例子。
https://maciejz.dev/processing-data-in-parallel-channels/
文章展示了如何使用System.Threading.Channels实现并行处理数据的代码。
https://jason-ge.medium.com/detect-and-remove-dead-code-with-roslyn-26e741b20d3c
关于如何使用Roslyn来检测和删除死代码(未使用的类型)的文章。
https://medium.com/@tema.denisoff/how-to-use-swiftui-components-in-maui-f43c54d2173c
关于如何在.NET MAUI中使用Swift UI组件的文章。
包括如何为Swift UI创建和使用UIKit包装器。
https://medium.com/@tema.denisoff/functional-maui-control-based-on-swiftui-view-e23135d1f2bc
关于如何从.NET MAUI以功能性方式实现SwiftUI组件的文章,包括属性绑定等。
https://qiita.com/denkiuo604/items/87345ce8031640b37e7a
本文讨论了C#中空凝聚运算符(??
)的优先级和绑定规则。 以及在C#中的优先级和连接规则。
https://zenn.dev/pcysl5edgo/articles/d3e787599c5c8b
与.NET 6相比,在C#中编写利用SIMD的代码更容易,因为不再需要fixed
,也不再需要在x64和ARM64之间进行分支。
https://dev.classmethod.jp/articles/net-annotations-lambda-framework/
通过AWS预览版中的.NET注释Lambda框架,在.NET中实现无服务器API(Lambda+API网关)。
幻灯片展示了如何在实现名为MemoryPack的快速序列化器的独创性基础上,对C# 11的语言特性、Source Generator和.NET库进行现代利用。
https://www.teamdev.com/dotnetbrowser
一个基于Chromium的商业组件库,用于WPF和Windows Forms中的嵌入式浏览器(所谓的WebView)。
它与CefSharp的不同之处在于,它有一个托管模式(与CefSharp相比,它在一个更外部的进程中运行),并且可以轻松地启用视频支持。
https://github.com/featbit/featbit
用于管理特征标志的应用服务器。
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.DeveloperNews
一个实验性的扩展,在Visual Studio中带回了开发者的新闻。
ASP.NET的一个框架,用于实现所谓的Request-Endpoint-Response(REPR)模式,取代了Minimal API和MVC。
https://github.com/maraf/dotnet-wasm-react
从React组件处理.NET WebAssembly的示例代码。
https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets
一个允许你在Visual Studio Code内拥有宠物的扩展。 调用mod
宠物将带来dotnet-bot(紫色的那个)。
https://twitter.com/dotnetonAWS/status/1533841159436611587
https://pages.awscloud.com/dotNETOpenSourceOnAWSCreditsProgram.html
亚马逊为.NET开源项目提供AWS积分和资金的支持,目前以资助如FluentValidation等项目。
在这里,我们要向大家介绍的是".NET Conf 2022 "的视频,以及一张关于该内容的笔记思维导图,目前还是日文版。
https://twitter.com/jsakamoto/status/1597555960951631872?s=12&t=yjMpM4TnEEFCnbK7AUbr1A
Xamarin.Forms的MessageCentre已被废弃,因此建议使用.NET Community Toolkit的WeekReferenceMessenger。
https://twitter.com/JamesMontemagno/status/1599101553813880839
讨论C#语言设计和工作组会议记录的可用性。
https://twitter.com/davidfowl/status/1600001951970000896
WebApplicationBuilder
给予ASPNET_
前缀的环境变量较低的优先权 - 问题#498 - aspnet/Announcementshttps://github.com/aspnet/Announcements/issues/498
在.NET 7之前的ASP.NET Core中,ASPNET_
前缀的环境变量衍生配置覆盖了命令行参数和DOTNET_
前缀值,但在.NET 7及以后的版本中,用ASPNET_
前缀指定不能使用命令行参数和 一个破坏性的改变,即带有 DOTNET_
前缀的规范取代带有命令行参数或 DOTNET_
前缀的规范。
https://developercommunity.visualstudio.com/t/VS2022-Search-results-on-Nuget/10163787
Visual Studio 2022的NuGet管理界面中的一个bug,即搜索后稍微滚动一下可能就看不到第一个结果了。
由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。
格式如下:
https://github.com/InCerryGit/.NET-Weekly
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。由于已经达到200人,可以加我微信,我拉你进群: ls1075