國內文章
C#在工業數位孿生中的開發路線實踐
https://mp.weixin.qq.com/s/b_Pjt2oii0Xa_sZp_9wYWg
這篇文章探討了 C#在工業數位孿生技術中的套用,介紹了三種基於 C#的數位孿生系統實作方案:
WPF + Unity :結合 WPF 技術和 Unity 引擎,實作客戶端三維套用,提供直觀的生產場景展示。
前端 + .NET8 + Unity :透過前端技術、C#後端和 Unity 引擎,實作 Web 端三維套用,支持跨平台操作和遠端監控。
WPF + OpenGL :使用 WPF 技術和 OpenGL 圖形庫,建立國產化數位孿生系統,滿足國內企業對本土化技術的需求。
C#.NET 體系圖文概述—2024 最全總結
https://www.cnblogs.com/anding/p/18031760
C#是一種由微軟創造的程式語言,而.NET 是一個包括多種語言規範和工具的開發平台。文章介紹了.NET 的發展歷程(.NET Framework 到.NET Core),並分析了.NET Framework 的構成(CLR 和 FCL)。.NET Core 的特點是開源和跨平台,並能支持多種架構。CLR 作為.NET 虛擬機器,負責執行程式碼和提供執行時服務。CTS 和 CLS 是實作多語言互操作的關鍵規範。文中也介紹了例如 JIT、GC 等.NET 中的重要概念。
【WebForms 王者再臨】在 ASP.NET Core 中執行 WebForms 業務程式碼,99%相似度!
https://www.cnblogs.com/sanshi/p/18186007
ASP.NET Core 引入了與 20 年前 WebForms 業務程式碼高度相似的開發模式,程式碼相似度可達 99%,簡化了從經典 WebForms 升級到 ASP.NET Core 的工作。由於經典 WebForms 不再更新導致的安全風險和維護難題,升級到 ASP.NET Core 變得重要。ASP.NET Core 具有出色的效能和安全性,支持跨平台,並允許使用最新的 C#特性,微軟團隊遷移案例顯示 CPU 效能提升 25%。新模式意在簡化開發,比如透過 FineUICore 提供 MVC 開發模式和 RazorPages,最新的 WebForms 開發模式能進一步減少轉移工作量和保持程式碼一致性。
C#/.NET/.NET Core 優秀計畫和框架 2024 年 4 月簡報
https://www.cnblogs.com/Can-daydayup/p/18181109
這篇文章介紹了多個與 C#/.NET/.NET Core 相關的開源計畫和框架,並提供了它們的 GitHub 源碼地址及公眾號詳細介紹。包括程式碼格式化工具 CSharpier、控制台套用框架 Spectre.Console、圖表庫 LiveCharts2、桌面啟動器 CurvaLauncher、緩存框架 FusionCache、跨平台框架 MAUI、UI 工具包 Uranium、視窗增強工具 SmartSystemMenu、WPF UI 控制項庫 MaterialDesignInXamlToolkit 和小說閱讀套用 CleanReader.Desktop 等。
車牌辨識控制台 可快速整合二次開發
https://www.cnblogs.com/yizhuqing/p/18181320
這篇文章介紹了一個完整的車牌號辨識程式,該程式不僅能夠辨識車牌號碼,還能辨識車牌顏色,並且可以透過控制台輸出流整合到其他計畫中。程式使用深度學習框架,包含 onnx 模型檔,能夠先辨識車牌外觀,然後利用 OCR 技術提取文字和顏色資訊。實作過程包括數據標註、訓練數據、匯出 onnx 模式以及使用 ML.NET 呼叫模型。文章還提供了使用命令列測試本地或網路資原始檔的說明以及完成程式的下載連結。
.NET 有哪些好用的定時任務排程框架
https://www.cnblogs.com/Can-daydayup/p/18181177
大姚在技術群中分享了 5 個.NET 開源任務排程框架。這些框架包括 Quartz.Net、Quartz.NetUI、Hangfire、Hangfire.HttpJob 和 FreeScheduler,它們分別適用不同規模的系統,有的支持復雜的觸發器和任務型別,有的易用且不依賴資料庫,也有的支持輕量化定時任務。這些建議能幫助開發者選擇適合的定時任務排程框架。同時介紹了 DotNetGuide 技術社群,提供了一個.NET 開發者學習、分享和咨詢的平台。
C#開發 Web 三維和客戶端三維技術揭秘
https://mp.weixin.qq.com/s/2t9Cs0Y_nXFrfiiMPAQHXA
這篇文章介紹了如何使用 C#和 Unity 開發三維客戶端和網頁套用。首先,展示了一個工業 AI 檢測裝置的上位機客戶端軟體,然後是一個工藝產線模擬計畫。開發過程包括 WPF 結合 Unity 透過 socket 通訊,以及前端 HTML+CSS 與後端.NET 6 和 Unity 的結合。最後,討論了自適應設計的挑戰和解決方案。
WPF 穩定的全螢幕化視窗方法
https://www.cnblogs.com/lindexi/p/18186221
本文介紹了在 WPF 中如何實作視窗全螢幕的穩定方法。文章基於 Win32 API,透過 Hook 機制來獲取並設定視窗全螢幕尺寸。提供了一個經過廣泛測試並在超過千萬台裝置上執行的方法,並詳細介紹了相關設定和可能出現的問題,還包含了程式碼範例和全螢幕前後視窗狀態的保存。
C#.Net 築基-基礎知識
https://www.cnblogs.com/anding/p/18170347
C#是一門由微軟開發的物件導向的程式語言,2000 年釋出並作為.NET 框架的一部份。C#具有型別安全、自動記憶體管理、跨平台開源等特點,並擁有強大的標準庫。使用 C#時需註意 C#和.NET 的版本匹配。開發環境包括.NET SDK 以及支持多個版本 SDK 的 Visual Studio IDE。C#的基礎語法要求分號結尾,支持多種變量型別聲明和命名風格。變量申明前必須初始化,且作用域以花括弧為界。
在 WPF 中整合 ASP.NET Core 和 WebView2 用於整合 SPA 套用
https://www.cnblogs.com/aobaxu/p/18186785
文章指導如何在 WPF 計畫中整合 ASP.NET Core 及 WebView2 控制項,以實作 Web 版工具的復用。首先修改計畫檔,使其支持 ASP.NET Core 庫和參照 WebView2。之後,修改 App.xaml 和 App.xaml.cs 以接管啟動事件,並使用 ASP.NET Core 的 WebApplication.CreateBuilder()方法進行依賴註入和資原始檔管理,是 WPF 應用程式可以處理靜態檔和支持自訂檔型別。
使用.NET 源生成器(SG)實作一個自動註入的生成器
https://www.cnblogs.com/vipwan/p/18175230
文章介紹了在.NET 中如何透過依賴註入(DI)來管理服務,尤其是在服務數量眾多,程式碼量大時,使用源生成器來簡化服務註冊過程。作者首先定義了一個用於服務註冊的 Attribute,並展示了其使用方式。然後借助 C# 11 的新特性,實作泛型 Attribute 來進一步簡化程式碼。接著透過幾個範例展示了如何利用這個 Attribute 為服務增加標記。文章最後部份可能包含了原始碼生成的具體細節和步驟。
C#使用 MX Component 實作三菱 PLC 軟元件數據采集的完整步驟(仿真)
https://www.cnblogs.com/Jerry9521/p/18174620
本文詳細介紹了使用三菱 MX Component 外掛程式對 PLC 軟元件數據進行讀寫的流程,包括 PLC 開發環境 GX Works2 的配置,MX Component 的設定和 C#上位機程式測試。全文提供了詳細的安裝和配置步驟,並陳列了在讀寫過程中的註意事項。
【OpenVINO™】使用 OpenVINO™ C# API 部署 YOLO-World 實作即時開放詞匯物件檢測
https://www.cnblogs.com/guojin-blogs/p/18177702
YOLO-World 平台結合了即時目標檢測和增強現實技術,透過 YOLO 演算法實作快速辨識並透過 AR 技術提高使用者互動體驗。文章介紹了使用最新的 OpenVINO™ 2024.0 和 C# API 在.NET 環境下部署 YOLO-World 的方法。英特爾新版 OpenVINO™ 加速 AI 推斷,支持多硬體平台和生成式人工智慧,增強了對 Hugging Face 模型的支持。YOLO-World 由騰訊 AI 實驗室開發,提高了對開放詞匯的檢測能力,並能在保持高效能的同時實作即時性。模型可以透過 YOLO-World GitHub 或 Ultralytics 匯出,計畫配置需要複制 OpenVINO C# API 範例計畫並安裝相關依賴。
.NET 緩存:記憶體緩存 IMemoryCache、分布式緩存 IDistributedCache(Redis)
https://www.cnblogs.com/WinterSir/p/17701841.html
.NET 緩存分記憶體緩存 IMemoryCache 和分布式緩存 IDistributedCache 兩種。記憶體緩存透過 Program 註入,並提供 Get、TryGetValue、GetOrCreate 等方法,重要的是設定過期時間,具有絕對過期、相對當前時間過期和滑動過期三種方式。IMemoryCache 範例中介紹了使用各種方法和設定過期時間的程式碼。而分布式緩存則需先安裝 Redis 並在 appsettings.json 中配置,再在 Program 中註入分布式緩存服務。
使用 C#強大的運算式樹實作物件的深複制
https://www.cnblogs.com/gmmy/p/18186750
運算式樹是一種在 C#中將運算式以樹結構表示的技術,常用於 LINQ 中,能夠將 C#查詢轉換為其他形式,實作跨資料來源使用。在執行時可以動態建立或修改運算式樹,適合動態生成程式碼邏輯,增強程式的靈活性和效率。C#中透過 System.Linq.Expressions 名稱空間提供的類來建立和操作運算式樹。文中透過範例展示了如何建立運算式樹,並描述了如何使用它進行深複制操作。文章還介紹了一個關於深拷貝的擴充套件類方法,透過運算式樹來提升效能,避免使用反射或序列化的效能開銷。
.NET 靜態程式碼織入——肉夾饃(Rougamo)釋出 3.0
https://www.cnblogs.com/nigture/p/18173550
肉夾饃元件透過靜態程式碼織入實作 AOP,主要特色是編譯時完成織入,減少啟動時間,支持靜態方法。版本 3.0 改變了程式碼織入方法,從程式碼內嵌方式轉為代理呼叫方式,簡化了對 async/await 語法差異的處理,棄用 ExMoAttribute 內容,簡化了異步方法的織入處理。
分享幾個.NET 開源的 AI 和 LLM 相關計畫框架
https://www.cnblogs.com/Can-daydayup/p/18173922
人工智慧技術正在成為各行各業的重要組成部份。大姚分享了四個基於.NET 的開源 AI 與 LLM 計畫。Semantic Kernel 可讓開發者結合 LLM 和傳統程式語言建立套用。BotSharp 是企業級 LLM 套用框架,支持智慧機器人的開發。LLamaSharp 是跨平台庫,高效在裝置上執行 LLM 模型。OpenAI DotNet 則是.NET 客戶端庫,方便使用 OpenAI 的 API。同時介紹了 DotNetGuide 技術社群,旨在為.NET 開發者提供技術交流與資源共享的平台。
【OpenVINO™】基於 C# 和 OpenVINO™ 部署 Blazeface 模型實作人臉檢測
https://www.cnblogs.com/guojin-blogs/p/18179021
OpenVINO™ C# API 是 OpenVINO 的.NET 包裝器,可以在.NET 環境下使用 C#實作深度學習模型推理。本文介紹了如何使用 OpenVINO™ C# API 部署 BlazeFace 模型進行人臉檢測,並提供了計畫連結和源碼連結。文中說明了計畫環境依賴,並可以透過 NuGet Package 安裝相應依賴。文章還展示了控制台輸出的計畫執行結果,包括從 GitHub 下載模型和影像的過程,以及使用 CPU 進行模型推理的詳細資訊。
IceRPC 之伺服器地址與 TLS 的安全性->快樂的 RPC
https://www.cnblogs.com/xlgwr/p/18187552
文章介紹了.Net 8.0 下新的 RPC 框架 IceRPC,著重介紹了伺服器地址、客戶端連線配置、伺服器配置以及 TLS 安全性。透過範例程式碼提供了如何在 C#中使用這些配置進行 RPC 通訊的指南。特別說明了 icerpc 和 ice 協定的埠和使用,還強調了如何透過 Quic 和 Tcp 傳輸來實作 TLS 安加密通訊。
微服務 - 作業排程 · Hangfire 整合式 · 儀表盤 · DolphinScheduler 分布式 · 定義流程
https://www.cnblogs.com/Sol-wang/p/17509813.html
本文介紹了兩款適合在.NET 環境下使用的作業排程產品——Hangfire 與 DolphinScheduler,並聚焦於 Hangfire 的介紹、使用與配置。Hangfire 是一個開源、支持多種.NET 版本、可以整合在計畫中的排程工具,提供了便捷的 Dashboard 檢視作業狀態。本文介紹了 Hangfire 的基本概念、作用、如何在計畫中整合以及如何配置使用等方面,使讀者能夠快速理解如何在.NET 中部署和使用 Hangfire。
C#中的物件深拷貝和淺拷貝
https://www.cnblogs.com/chi8708/p/18183115
C#中物件的拷貝分為淺拷貝和深拷貝。淺拷貝透過 MemberwiseClone 方法實作,僅復制值型別成員,參照型別成員會與原物件共享。深拷貝不僅復制值型別成員,還生成參照型別成員的新例項,可透過反射、序列化或物件對映實作,確保副本完全獨立。選擇淺拷貝或深拷貝取決於是否需避免修改原始物件及物件的使用場景。
使用.NET 查詢日出日落時間
https://www.cnblogs.com/czwy/p/18181050
本文介紹了如何在 WPF 中實作自動切換主題的方法,包括跟隨系統明暗主題的切換和根據日出日落時間自動切換。文章首先說明了計算日出日落時間需要考慮的因素,接著介紹了透過線上 API 和公式計算兩種獲取日出日落時間的方法,並提供了如何將 IP 地址轉換為經度緯度資訊的方法。線上 API 部份詳細介紹了一個免費 API 的使用方法,而公式計算部份則提供了一個不涉及大氣折射因素的計算公式。
C#實作多執行緒的幾種方式
https://www.cnblogs.com/Can-daydayup/p/18185545
C#中的多執行緒是指在一個行程中同時執行多個執行緒,適用於提升並行性、吞吐量和響應速度,特別是在 CPU 密集型任務、I/O 密集型任務、並行請求處理及大數據處理場景中。行程是執行中程式的抽象,包含程式碼和作業系統資源,而執行緒是行程內的執行單元。C#提供了 Thread、ThreadPool、Task 和 Parallel 等類來實作多執行緒編程。此外,文章提及有關 C#/.NET/.NET Core 的拾遺補漏專欄、開源地址和技術社群,旨在提供學習資料、計畫推薦和技術交流的平台。
入門 Semantic Kernel:OneApi 整合與 HelloWorld
https://www.cnblogs.com/ruipeng/p/18178756
Semantic Kernel 是一個用於構建智慧套用的輕量級開源框架,支持 C#/Python/Java 等語言,相容 OpenAI、Azure OpenAI、Hugging Face 等模型。其特點包括模組化外掛程式架構、多模型整合、多樣化連結器、全面語言支持和低門檻開發體驗。含內核、外掛程式、記憶、規劃器等核心元件,支持任務規劃和決策,可套用於不同領域。還介紹了 Semantic Kernel 中對接 OneApi 的過程和使用自訂 HttpClientHandler 進行請求轉換。
關於 DDD 和 COLA 的一些總結和思考
https://www.cnblogs.com/TheGCC/p/18184043
這篇文章討論了物件導向和程序導向的區別,並以圖書管理系統和學生自我介紹的例項闡釋了二者的思考方式和程式碼實作。程序導向關註步驟邏輯和操作細節,適合底層或硬邏輯內容;物件導向則專註於抽象概念和模型構建,註重物件本身及其行為,有利於程式碼的復用和擴充套件。文章還簡述了領域驅動設計(DDD)的基本理念,包括統一語言、邊界劃分,以及貧血和充血模式的不同。
使用 Docker 部署 VS Code in The Browser
https://www.cnblogs.com/wuhanjiayou/p/18186362/VS-Code
Code-Server 是一個能夠將 VS Code 帶入瀏覽器的開源編輯器,支持遠端開發與多人協作。文章提供了安裝 Docker、部署 Code-Server 容器並存取 VS Code 網頁界面的詳細步驟,還包括了如何更換主題和中文配置設定。終端使用者只需透過瀏覽器存取設定的伺服器 IP 並輸入密碼,即可使用 Code-Server。
GitLab 管理 NuGet 包
https://www.cnblogs.com/txrock/p/18179524
GitLab 提供 Package Registry 功能,允許使用者上傳和管理不在 nuget.org 上的 NuGet 包。使用者可以為計畫建立部署令牌以上傳或下載軟體包,並透過命令列工具將 NuGet 包推播到指定的 GitLab 計畫中。在構建過程中,還需向構建環境添加新的 NuGet 源以使用這些包。最後,使用者可以在 NuGet 配置檔或 IDE 中管理和配置 NuGet 包源,並進行包源對映設定,以增強安全性。
Lua 熱更學習--使用 toLua 中的協程
https://www.cnblogs.com/TonyCode/p/18187626
這篇文章討論了如何在 C#中使用 tolua 來存取 Lua table 中的變量和函式,以及如何利用 tolua 提供的協程功能。文章首先展示了如何建立 Lua 中的 CStudent 類,並在 C#中呼叫它的方法和變量。然後,介紹了如何在 Unity 中添加 LuaLooper 元件來使用 tolua 的協程,包括建立計時器和開始、停止計時器的例子。
使用 NSSM 將.exe 程式安裝成 windows 服務
https://www.cnblogs.com/magicMaQaQ/p/18174409
本文介紹了使用 NSSM(Non-Sucking Service Manager)在 Windows 上安裝服務的兩種方法。第一種是透過 cmd 命令列操作,需將 NSSM 的可執行檔 nssm.exe 所在路徑設定到 cmd 中,然後執行安裝命令並設定服務的各種參數。第二種是透過編寫批次檔(.bat),將 nssm.exe 放在程式目錄下並建立相應的安裝、關閉、解除安裝服務的批次處理指令碼執行。bat 檔需要以管理員許可權執行,並可建立捷徑以便快速執行服務的管理。文中還提供了參考連結以供深入學習。
C#.Net 築基-運算子 Family
https://www.cnblogs.com/anding/p/18170514
C#語言內建了多種運算子,比如數學、賦值、比較、邏輯、位運算等,還支持運算子多載。不同型別運算子具有不同行為,如整數除以 0 會引發異常,浮點數則得到無窮大。此外,還包括隱式和顯示轉換運算子。數位的運算可能產生溢位,在預設情況下整型溢位不會引發異常,除非使用 checked 關鍵字,浮點數不存在溢位的概念,decimal 型別會丟擲異常,整數除以整數結果為整數。
Blazor/Hybird 觸屏下單程式調優筆記
https://www.cnblogs.com/densen2014/p/18174198
文章主要介紹了在 Blazor Net8.0 環境下結合 FreeSql 和 Bootstrap Blazor 元件進行效能最佳化的策略,包括減少元件的不必要渲染、API 與 UI 分離、處理臟數據、伺服端使用原子操作進行數據更新、提高按鈕操作效能和合理使用 CascadingValue 的建議。
在 Biwen.QuickApi 中整合一個極簡的釋出訂閱(事件匯流排)
https://www.cnblogs.com/vipwan/p/18184088
文章介紹了如何在 Biwen.QuickApi 中實作一個簡單的事件匯流排系統。首先定義了事件的介面 IEvent 以及事件訂閱者的介面 IEventSubscriber,並提供了預設實作 EventSubscriber 類。然後實作了負責釋出事件的 Publisher 類,並展示了如何處理事件和異常。最後演示了如何在 QuickApi 中註冊釋出者和訂閱者,使事件系統得到套用。
自訂 Lua 解析器管理器-------演化指令碼 V0.5
https://www.cnblogs.com/TonyCode/p/18178850
這篇文章介紹了如何在計畫中透過封裝管理 Lua 解析器來使用 Lua 解析方法。程式碼範例中介紹了建立 Lua 狀態機、獲取和設定 Lua 全域變量、呼叫 Lua 函式等功能。文章同時提供了具體的測試用例,包括無參無返回值以及有參有返回值函式的呼叫,以便讀者能夠透過實際操作更好地學習和理解 Lua 介面。
前端使用 Konva 實作視覺化設計器(9)- 另存為 SVG
https://www.cnblogs.com/xachary/p/18178115
這篇文章講述了如何將 canvas 元素中的內容另存為 SVG 格式。作者首先受到來自 react-konva-custom-context-canvas-for-use-with-canvas2svg 的啟發,提出了透過 canvas2svg 庫將 Konva 的 CanvasRenderingContext2D 替換,從而捕捉 canvas 動作並生成 SVG 內容的方法。接著闡述了具體的實作步驟,包括處理和匯出圖片節點,並給出了相關程式碼範例。文章也詳細描述了如何透過正規表式處理 SVG 和其它圖片素材節點的連結轉換。實作將 canvas 中的內容以 SVG 影像格式匯出的功能,並提供了 Github 和 Gitee 上的源碼連結以及範例地址。
ABP-VNext 使用者許可權管理系統實戰 06---實體的建立標準及遷移
https://www.cnblogs.com/zhengwei-cq/p/18186793
apb-vnext 實體建立時可以設定欄位長度、註釋、指定對應的資料庫表及為欄位添加索引。訂單實體範例包括單據編號、發貨倉庫、供應商編碼和名稱、申請時間和人、稽核時間和人以及訂單狀態與刪除標識等內容,並展示如何透過遷移命令將實體對映到資料庫表。
使用自訂委托來呼叫 Lua 中的多返回值和長參數型別函式
https://www.cnblogs.com/TonyCode/p/18183121
文章介紹了使用自訂委托在 C#中呼叫 Lua 指令碼函式,並處理多返回值及長參數列的場景。文中展示了呼叫無參無返回值函式、有參有返回值函式的多種方法,包括直接獲取 LuaFunction 物件、透過委托轉換、解析器直接呼叫等。還演示了如何獲取和修改 Lua 中的全域變量。全文透過具體的程式碼範例對如何在 C#環境下使用 Lua 功能進行了詳細解釋。
C# 實作 Ping 遠端主機功能
https://www.cnblogs.com/weskynet/p/18186329
C#實作 Ping 遠端主機功能,引入了 Wesky.Net.OpenTools 開源工具庫,可透過 PingHelper.PingHost 方法對指定主機執行 ping 操作。源碼實作包含網域名稱解析、防止封包分片、發送 ping 請求及返回結果,反映 ping 成功與否及相關數據。本教程展示了如何使用 1.0.2 版本的具體程式碼實作 Ping 功能。
gRPC 入門學習之旅(八)
https://www.cnblogs.com/chillsrc/p/18185818
這是一組關於 gRPC 的入門學習教程,講解如何在 demo 計畫中添加和使用 proto 協定檔,編譯生成客戶端 GRPC 類,建立公共類別庫參照協定檔,管理 NuGet 包並安裝必要的庫。過程包括在 Visual Studio 2022 中配置計畫檔,重建計畫,添加服務參照,更新類別庫計畫,使伺服端檔更改自動套用到客戶端計畫。
C#的基於.net framework 的 Winform 編程 - 編程手把手系列文章
https://www.cnblogs.com/lzhdim/p/18149157
本文介紹了使用 C#基於.net framework 開發 Winform 程式的過程,涉及到安裝 Visual Studio 2022、計畫配置、添加類別庫、UI 編碼等步驟,並提供了相關的操作範例和源碼下載連結。文中也介紹了如何利用單例模式統一管理變量,以及無邊框表單設計等具體技術細節,並建議讀者在界面設計上參考 Windows 風格或使用專業設計。
.NET 7 將於本月 14 日停止支持。如果您使用的是 .NET 7,請考慮升級到 .NET 8。
.NET 和 .NET Core 官方支持政策
.NET 7 將於 2024 年 5 月 14 日停止支持 - .NET 部落格
主題
版本 1.5.3 (1.5.240428000) - Windows 應用程式 SDK 的穩定通道發行說明 - Windows 應用程式
https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#version-153-15240428000
Windows App SDK 1.5.3 已釋出。
此版本修復了多個錯誤,例如崩潰和構建時間。
釋出 Windows App SDK 1.5.3 (1.5.240428000) · microsoft/WindowsAppSDK
.NET MAUI Community Tookit v8 簡介:TouchBehavior 支持現已推出 - .NET 部落格!
https://devblogs.microsoft.com/dotnet/dotnet-maui-community-toolkit-touchbehavior/
.NET MAUI Community Tookit v8 已釋出。
此版本包括添加 TouchBehavior 以替換 Xamarin.Forms 中 Xamarin 社群工具包的 TouchEffect、對 Windows 上 Snackbar 的重大更改、Android 上導航欄顏色設定以及許多其他錯誤修復。
Ubuntu 24.04 中 .NET 的新增功能 - .NET 部落格
https://devblogs.microsoft.com/dotnet/whats-new-for-dotnet-in-ubuntu-2404/
關於 Ubuntu 24.04 中 .NET 的處理。
隨著 Ubuntu 24.04 的釋出,.NET 可以從官方 Ubuntu feed 中獲取,並提供基於 24.04 的 .NET 容器映像。
TypeSpec 簡介:以 API 為中心的開發新語言 | TypeSpec
https://typespec.io/blog/2024-04-25-introducing
API 定義語言 TypeSpec 已釋出。
TypeSpec 是一種受 TypeScript 和 C# 啟發的 API 定義語言,目前可以編譯為 OpenAPI、JSON Schema 或 Protobuf。在微軟內部,據說他們正在測試 Azure 服務、Microsoft Graph 等。
為 Visual Studio 和 Visual Studio Code 提供了編輯器擴充套件,並且該計畫根據 MIT 授權證釋出在 GitHub 上。
型別規範
microsoft/typespec
https://x.com/davidfowl/status/1785047593963454896?s=12
釋出版本 v1.63.0 · grpc/grpc
https://github.com/grpc/grpc/releases/tag/v1.63.0
gRPC 1.63.0 已釋出。
此版本包含與 Grpc.Tools 的協定輸出相關的修復。
OData .NET 8 預覽版 - OData
https://devblogs.microsoft.com/odata/odata-net-8-preview-release/
OData .NET 8 預覽版已釋出。
八年來的第一次重大更新包括許多重大更改,包括終止對 .NET Framework 的支持和實作技術堆疊現代化。未來我們將推出支持政策、文件生命周期支持、釋出遷移指南。
Cascadia Code 2404.23
https://devblogs.microsoft.com/commandline/cascadia-code-2404-23/
Cascadia Code 2404.23 已釋出。
此版本添加了許多傳統計算符號,包括象限、六分儀、八分儀和大型部件。還添加了其他家族,例如包含 Nerd 字型的「Cascadia Code NF」和「Cascadia Mono NF」。
文章
nativeint 和 nativeptr<'T> 和 voidptr
https://zenn.dev/sayurin/articles/3dfaa375223b0e
關於在 F# 中處理指標時使用的三種型別。
分享您使用 .NET 開發工具的經驗來幫助我們 | .NET 工具部落格
https://blog.jetbrains.com/dotnet/2024/05/01/share-your-experience-with-dotnet-dev-tooling/JetBrains 進行的 .NET 開發工具調查。
我們將隨機選擇受訪者,贏取 50 美元的亞馬遜禮品卡或一年的全產品包。
使用 C# 2024 年 5 月版計算 Azure OpenAI 服務中的令牌數量
https://zenn.dev/microsoft/articles/count-token-with-csharp
如何使用「Microsoft.ML.Tokenizers」計算令牌。
如何使用 IDesktopWallpaper - Qiita
https://qiita.com/nnkanegon/items/3309afd8433d38659147
如何使用「IDesktopWallpaper」 COM 介面從 C# 實作更改 Windows 桌面桌布。
透過 ReSharper 中的 JetBrains AI Assistant 擁抱 .NET 中 AI 驅動的生產力 | .NET 工具部落格
https://blog.jetbrains.com/dotnet/2024/04/30/jet-brains-ai-assistant-in-resharper/
介紹 ReSharper 的 AI 助手功能。
上下文閱讀聊天、多行程式碼完成、問題檢測、重構、單元測試生成以及程式碼解釋和文件等功能。
使用 .NET 8 保護您的容器構建和釋出 - .NET 部落格
https://devblogs.microsoft.com/dotnet/secure-your-container-build-and-publish-with-dotnet-8/
了解如何使用 .NET 8 構建和釋出安全容器。
本文解釋了存在哪些型別的威脅以及如何在不使用 root 的情況下建立容器映像。
建立 .NET AsciiMath 解析器並在 Markdig 擴充套件中使用它
https://andrewlock.net/creating-a-dotnet-asciimath-parser-and-using-it-in-a-markdig-extension/
關於將 AsciiDoctor/AsciiMath 的 Ruby 實作移植到 .NET 並使其可從 Markdig 獲取。
磁碟區陰影複製未啟動的 ASP.NET Core 托管模組:分離磁碟區陰影複製資料夾!
https://weblog.west-wind.com/posts/2024/Apr/28/ASPNET-Core-Module-with-Shadow-Copy-Not-Starting-Separate-your-Shadow-Copy-Folders
將 IIS 的 ASP.NET Core 模組更新到 8.0.4 後出現的與卷影副本相關的問題以及如何解決這些問題。
Marten、PostgreSQL 和 .NET Aspire 走進一家酒吧……
https://jeremydmiller.com/2024/05/01/marten-postgresql-and-net-aspire-walk-into-a-bar/
了解如何透過 .NET Aspire 配置 Marten(一種使用 PostgreSQL 的事件訊息傳遞框架)。
如何使用 TypeScript 進行 ASP.NET Core Blazor 開發
https://zenn.dev/microsoft/articles/how-to-develop-ts-for-blazor
了解如何將 ASP.NET Core Blazor 應用程式配置為使用 TypeScript 而不是 JavaScript。
本文介紹如何使用 TypeScript 開發 Razor 元件附帶的 JavaScript 以及 Razor 類別庫的 JavaScript 初始化程式。
我想建立一個在 Blazor 啟動時自動載入的 JavaScript 檔
https://zenn.dev/microsoft/articles/how-to-load-js-onstartup
如何將 JavaScript 包含在 Razor 類別庫計畫中,該計畫在 Blazor 應用程式啟動時自動載入。
無障礙應用程式之旅:鍵盤輔助功能和 .NET MAUI - .NET 部落格
https://devblogs.microsoft.com/dotnet/the-journey-to-accessible-apps-keyboard-accessible/
關於 .NET MAUI 應用程式中的鍵盤輔助功能。
文章介紹了模態頁面的鍵盤導航、Android 上的焦點操作以及鍵盤加速器等功能。
關於 Garnet(Redis 相容服務)記憶體消耗和檢查點建立的註意事項 - Qiita
https://qiita.com/skitoy4321/items/3498ddbbc27d3ce6e9f0
關於 Garnet 的記憶體消耗估計、記錄保存行為和設定、壓縮和檢查點期間的行為等的研究摘要。
活動、投影片等
CS 表演學習課程直播 - YouTube
https://www.youtube.com/watch?v=wg3CibR0mWI
C#效能學習會(2024/04/27 13:30~)
使用 GitLab CI/CD 自動化 C#/WPF 應用程式測試和安裝程式構建/部署
https://speakerdeck.com/hacarus/wpfapurikesiyonnotesutotoinsutoranobirudodepuroiwozi-dong-hua-suru
向量編程和不安全
https://www.docswell.com/s/binnmti/Z4Q8V8-2024-04-27-234152
從 R3 程式碼看實用的 LINQ 實作最佳化和並行編程範例
https://speakerdeck.com/neuecc/r3nokodokarajian-rushi-jian-linqshi-zhuang-zui-shi-hua-konkarentopuroguramingushi-li
neue cc - 從 R3 程式碼中看到的 C# 效能最佳化技術和 TimeProvider 範例
從今天開始你就可以做到!簡易.NET 加速技巧-2024 年版
https://speakerdeck.com/xin9le/jin-ri-karadekiru-jian-dan-net-gao-su-hua-tips-2024-edition
現代 .NET 分析工具
https://speakerdeck.com/kkamekawa/dot-net-profiler-in-2024
Azure Traveler 和 C# 效能研究小組材料釋出 - kkamegawa 部落格
網站、文件等
DotnetBenchmarks.com - .NET 基準測試目錄
https://dotnetbenchmarks.com/
一個主要可以分享 BenchmarkDotNet 基準測試結果的網站。
推文
https://x.com/opensilverteam/status/1785264961926598758?s=12
https://x.com/terrajobst/status/1784256998340739323?s=12
版權聲明
國內板塊由 InCerry 進行整理 : https://github.com/InCerryGit/WeekRef.NET
其余內容來自 Myuki WeekRef,由 InCerry 轉譯(已獲得授權) : https://github.com/mayuki/WeekRef.NET
由於筆者沒有那麽多時間對國內的一些文章進行整理,歡迎大家為【.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,歡迎大家加入。