.NET週報【10月第3期 2022-10-25】

2022-10-26 12:07:22

國內文章

聊一聊被 .NET程式設計師 遺忘的 COM 元件

https://www.cnblogs.com/huangxincheng/p/16799234.html

將Windows程式設計中經典的COM元件拿出來再複習一下,解釋了COM元件互相呼叫的原理。

使用 C# 開發的輕量級開源資料庫 LiteDB

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

介紹一個開源的資料庫元件,LiteDB 是一個小型、快速、輕量級的 .NET NoSQL 嵌入式資料庫。

.NET效能優化-使用結構體替代類

https://mp.weixin.qq.com/s/11Tszw-Sa1rQq5Zka7g08Q

通過一個案例,講述如果使用結構體來替代類,從而優化程式的記憶體佔用和執行速度;並介紹其效能優化的原理。

.NET效能優化-使用Collections.Pooled

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

講述如何通過Collections.Pooled複用記憶體,降低GC和提升效能的故事,並比較了和普通集合型別的差別。

.NET效能系列文章一:.NET7的效能改進

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

主要講述了哪一些API在.NET7中變得更快,比如LINQ中的Max()、Min()等等。

.NET 6.0 抓取包開源工具WindivertDotnet

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

WindivertDotnet是物件導向的WinDivert的dotnet非同步封裝,其保持著完整的底層庫能力,又提供dotnet的完美語法來操作。

.NET Core 開發跨平臺伺服器效能監控工具

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

介紹一個基於C#開發的、跨平臺,監控GC、CPU、記憶體、機器網路、磁碟空間等關鍵指標的工具。

Uno開發的小遊戲

https://mp.weixin.qq.com/s/H-Vl2k3f3MkqVBn5tZZauQ

介紹使用Uno開發的WebAssembly小遊戲

記一次 .NET 某金融企業 WPF 程式卡死分析

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

介紹了一個作者前段時間遇到了一個難度比較高的Dump分析過程。

dotnet 用 SourceGenerator 原始碼生成技術實現中文程式語言

https://www.cnblogs.com/lindexi/archive/2022/10/19/16804899.html

介紹瞭如何使用.NET的SourceGenerator技術實現一箇中文程式語言,非常有趣的一個實現。

細聊.Net Core中IServiceScope的工作方式

https://www.cnblogs.com/wucy/archive/2022/10/17/16791563.html

通過原始碼詳細的解析了IServiceScope的工作方式。

主題

宣佈在.NET7 RC2中支援.NET MAUI - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-maui-rc2/

對.NET 7 RC 2的.NET MAUI支援已經發布。

該版本包括對Xcode 14 for iOS 16的支援,並可在Visual Studio 17.4 Preview 4中使用。 這個版本也支援在生產環境中使用。

OpenSilver 1.1 釋出!

https://www.opensilver.net/announcements/opensilver1-1.aspx

OpenSilver的1.1版本已經發布,這是一個執行在WebAssembly上的開源實現,旨在實現Silverlight相容性。

該版本增加了對100多個Silverlight功能的支援,增加了對包括Telerik UI在內的各種第三方庫的支援,並將效能提高了3倍。

此外,計劃於明年初發布的2.0版本將增加對VB.NET的支援。

今天釋出:Windows Dev Kit 2023又名Project Volterra - Windows Developer Blog

https://blogs.windows.com/windowsdeveloper/2022/10/24/available-today-windows-dev-kit-2023-aka-project-volterra/

適用於Arm架構的Windows開發套件現在已經上市,名稱為Windows Dev Kit 2023。

Windows Dev Kit 2023是在Build 2022中以Project Volterra的名義宣佈的一個開發者套件,具有驍龍8cx第三代,32GB記憶體和512GB NVMe SSD。

從今天起,澳大利亞、加拿大、中國、法國、德國、日本、英國和美國都可以訂購。 在日本,價格將是99,880日元(含稅)。

釋出 Diagnostics - v6.0.351802 · dotnet/diagnostics

https://github.com/dotnet/diagnostics/releases/tag/v6.0.351802

dotnet-{dump,monitor,trace}(診斷程式)的 6.0.351802 已經發布。

它包括dotnet-dump中的一些錯誤和改進,包括在Linux/MacOS上擴充套件SOS命令。dotnet-monitor和dotnet-trace有錯誤修復。

對舊版Visual Studio的支援提醒 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/support-reminder-for-older-versions-of-visual-studio/

關於Visual Studio的提醒,它將不再被支援。

  • Visual Studio 2012:擴充套件支援於2023年1月10日結束
  • Visual Studio 2013:擴充套件支援於2024年4月9日結束
  • Visual Studio 2015:擴充套件支援於2025年10月14日結束
  • Visual Studio 2017:主流支援於2022年4月12日結束,擴充套件支援於2027年4月13日結束(15.9)。
  • Visual Studio 2019(16.9):支援於2022年10月11日結束。 建議遷移到16.11以繼續支援2019年的工作
  • Visual Studio 2019預覽版:由於更新結束,建議遷移到釋出頻道或遷移到2022年的預覽頻道

文章還討論了一些方面,如管理員如何管理更新和刪除不再支援的元件。

文章、幻燈片等

你好 .NET! - AtomicJar

https://www.atomicjar.com/2022/10/hello-dotnet/

由Testcontainers的.NET實現的維護者(他們來自AtomicJar)介紹Testcontainers。

在這裡,我們將介紹Testcontainers的.NET實現、資源庫的增長以及與xUnit.net整合的例子。

dotnet-monitor: 在AKS中啟用一個診斷邊車

https://www.poppastring.com/blog/dotnetmonitor-enabling-a-diagnostics-sidecar-in-aks

關於如何在AKS(Azure Kubernetes Serivce)Pod中作為邊車執行dotnet-monitor的視訊。

艱辛歷程中學習到的.NET系統程式設計.pptx

https://www.slideshare.net/petabridge/net-systems-programming-learned-the-hard-waypptx

由Akka.NET開發人員提供的關於.NET低階元件API的解釋性幻燈片。

[C#]使用MemoryPack - 基礎知識1 | spacekey.dev

https://spacekey.dev/memorypack-1

使用二進位制序列化工具MemoryPack的系列文章

CLR 事件: 選擇nettrace檔案格式!

https://chnasarre.medium.com/clr-events-go-for-the-nettrace-file-format-6b363364c2a3

關於如何在nettrace二進位制流中接收來自CLR的診斷事件的文章。

使用WSL和Rider的ASP.NET/Kubernetes開發 (1)

https://zenn.dev/dynamitecoolguy/articles/4530e1134bcbac

文章描述了在WSL上執行Rider以及使用ASP.NET Core和Kubernetes進行開發的準備步驟。

使用.NET 6 + Hot Chocolate v12 + Redis實現GraphQL API閘道器

https://dianper.medium.com/implementing-graphql-api-gateway-in-net-6-hot-chocolate-v12-redis-1a0ac12f340c

關於如何使用.NET 6、Hot Chocolate v12和Redis實現GraphQL API閘道器的文章。

為你的.NET專案編寫你自己的程式碼覆蓋統計指令碼

https://medium.com/@stefanacimovicMEng/write-your-own-code-coverage-script-for-your-net-projects-e26b621aa0dc

關於如何建立自己的一系列步驟以獲得.NET專案的程式碼覆蓋並輸出報告的文章。

ASP.NET Core中的自定義腳手架模板 | dotnetthoughts

https://dotnetthoughts.net/custom-scaffold-templates-in-asp-net-core/

關於如何在專案層面客製化ASP.NET Core MVC模板的文章。

通過API-Gateway使用SAM從AWS::Serverless::Function下載映象 - Qiita

https://qiita.com/karuakun/items/e61007864364ab164774

關於在使用AWS無伺服器應用程式模型建立應用程式時如何通過API閘道器處理二進位制資料的文章。

10個你應該嘗試的Visual Studio 2022主題(免費主題!)

https://blog.dotnetsafer.com/best-visual-studio-2022-themes/

介紹可以新增到Visual Studio 2022的十個不同主題。

構建自己的反向代理

https://satish1v.medium.com/build-your-own-reverse-proxy-bf3232e7e5f3

關於在YARP中建立一個簡單的反向代理伺服器的文章。

現場錯誤處理 - Ayende @ Rahien

https://ayende.com/blog/198369-A/error-handling-in-the-field

一個關於如何收集應用程式崩潰報告(UnhandledException)的故事,最近的Windows更新改變了WPF的行為,在內部引起了一個錯誤,所以它被忽略了,但很微妙。

如何用Azure通訊服務在.NET中大規模地傳送電子郵件

https://medium.com/medialesson/how-to-send-emails-at-scale-in-net-with-the-azure-communication-service-14565d84147f

關於如何使用Azure通訊服務來傳送電子郵件的文章。

試用.NET 7中ASP.NET Core Blazor的新功能

https://zenn.dev/okazuki/articles/blazor-dotnet7

介紹.NET 7中ASP.NET Core Blazor的新功能的文章。

它提到了WebAssembly載入、繫結修改器、虛擬化改進和導航改進。

圖書館、資源庫、工具等

Sergio0694/PolySharp:PolySharp為C#語言特性提供了生成的、僅有原始碼的Polyfills,以輕鬆使用所有執行時無關的特性。新增一個參照,將你的C#版本設定為最新版本,然後盡情享受吧!