國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
國內文章
關於.NET在中國為什麼工資低的分析
https://www.cnblogs.com/thinkingmore/p/18406244
.NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET Core,但市場接受度仍不高,主要應用於國有企業和傳統行業。與Java、Python相比,.NET在新興領域發展滯後,社區活躍度低,限制了開發者的技術更新和職業發展。此外,互聯網企業更偏好開源技術,.NET開發者在這些行業的需求和薪酬因而較低。儘管.NET技術演進提供了新機會,但市場對其反應較慢,雲計算和開源支持的挑戰依然存在。
.NET 9 的新亮點:AI就緒 ,擁抱她
https://www.cnblogs.com/shanyou/p/18405567
.NET 9 即將發佈,重點是簡化 AI 集成。開發人員可以使用 OpenAI、OSS 模型和 Azure SDK 構建智能應用。TensorFlow.NET 和 OpenAI SDK 均獲升級,支持高性能和實時處理。ONNX 運行時和 ML.NET 4.0 提供無縫 AI 模型操作,輔助代碼生成、NLP 工具、GPU 加速等提升了開發效率。ASP.NET Core 簡化了 AI 部署,新的數值 API 實現高效運算。性能監控和模型偏差檢測確保 AI 應用的可靠性和道德性。微軟在雲原生和 AI 領域的開放策略使 .NET 更強大。
超輕量級、支持插件的 .NET 網路通信框架
https://www.cnblogs.com/1312mn/p/18401867
TouchSocket 是一個輕量級、支持插件的網路通信庫,具有 TCP、UDP、SSL、RPC 和 HTTP 等功能。其 HTTP 伺服器支持 WebSocket 和其他擴展插件。TouchRPC 支持自定義協議,具備 SSL 加密和分散式調用等功能。基於 .NET 的 TouchSocket 支持多個版本和項目類型,提供相容多種框架模型的功能。項目特點包括改進的 IOCP 模式和強大的數據處理適配器,提高性能並解決數據粘包問題。使用 Nuget 可安裝 TouchSocket,並通過 TcpService 配置和管理客戶端連接。
.NET 9 中 LINQ 新增的功能
https://www.cnblogs.com/Can-daydayup/p/18405683
本文介紹了LINQ,.NET 9的安裝及其新增功能,尤其專註於雲原生應用和性能。說明如何在VS Code中創建.NET 9應用,並提供了CountBy、AggregateBy和Index方法的示例代碼。相關文章鏈接附於文末。
.NET 多版本 WinForm 開源控制項庫 SunnyUI
https://www.cnblogs.com/1312mn/p/18405542
SunnyUI.NET 是一個基於 .NET Framework 和 .NET 6、7、8 的開源 WinForm 控制項庫,提供豐富的控制項和多頁面開發框架,參考 Element 主題風格,支持多主題定製。支持國際化和多語言版本,可以使用 VS 2022 編譯,或通過 Nuget 安裝。控制項庫設計精細,包含主題管理組件,提供一致的視覺體驗。
使用 Microsoft.Extensions.ServiceDiscovery 進行服務發現並調用
https://www.cnblogs.com/kklldog/p/18403778/service-discovery
在現代微服務架構中,服務發現是關鍵功能,通過使用 Microsoft.Extensions.ServiceDiscovery 包,.NET 提供了實現服務發現的簡便方式。首先安裝相應的 NuGet 包,併進行依賴註入和配置預設 HTTP 客戶端。然後,在配置文件中定義服務端點,從而通過服務名進行 HTTP 調用,簡化微服務間的通信。此外,還可以配置多種負載均衡策略,如輪詢、隨機等,提升服務調用的效率和靈活性。總之,服務發現簡化了微服務間的調用過程,是實現微服務架構的重要組件。
dotnet 讀 WPF 源代碼筆記 從 WM_POINTER 消息到 Touch 事件
https://www.cnblogs.com/lindexi/p/18403860
本文介紹如何在 WPF 中通過 Win32 消息迴圈處理 WM_POINTER 消息以實現觸摸事件。文章分為兩部分,首先討論 Win32 程式中如何處理消息並獲取觸摸信息,然後說明 WPF 框架如何集成這些邏輯。文章詳細講述了三種處理消息的方式,並提供了代碼示例。方式1使用 ptPixelLocationRaw 欄位但精度較低;方式2使用 ptHimetricLocationRaw 欄位以提高精度,需要額外計算坐標轉換。代碼示例托管在 GitHub 和 Gitee 上,提供了獲取代碼的命令。
Entity Framework Plus: 讓 EF Core 開發如虎添翼
https://www.cnblogs.com/Can-daydayup/p/18411468
EF Core 是微軟推出的輕量化、跨平臺數據訪問技術,支持多種資料庫和LINQ查詢等功能。Entity Framework Plus 是其擴展庫,提供批量操作、查詢緩存、審計跟蹤等增強性能的特性。項目可通過 NuGet 包輕鬆集成,並包含多種優化功能如全局和實例查詢過濾器。GitHub 上提供項目源碼和線上文檔。
.NET 9 RC1 正式發佈,ASP.NET Core 得到完善
https://www.cnblogs.com/shanyou/p/18409073
.NET 9 RC1是即將發佈的候選版本,含WebSocket API增強、新壓縮選項與SignalR改進,並更新.NET MAUI。ASP.NET Core擁多項更新,如SignalR分散式跟蹤及WebSocket改進。新增功能簡化了AI模型部署,並具備平臺獨立性。HorizontalTextAlignment.Justify在.NET MAUI中實現文本水平對齊,增強了文本顯示。在Ubuntu和Fedora上改善ASP.NET Core HTTPS開發證書的信任。微軟繼續支持雲原生應用及性能優化,強調容器化和微服務架構,註重應用的擴展性和彈性。
淺談 C# 中的頂級語句
https://www.cnblogs.com/Can-daydayup/p/18409971
C# 9引入頂級語句,允許不顯式定義Main方法直接編寫代碼,使代碼更簡潔,適合簡單應用、腳本和演示。雖然降低了學習難度,提高了效率,但在大型項目中,傳統的代碼結構仍然必要。頂級語句在複雜項目中可能引發相容性問題。開發者應根據需求選擇使用哪種方式,傳統結構在大型項目中具備優勢。
C#整合Ollama實現本地LLMs調用
https://www.cnblogs.com/wucy/p/18400124/csharp-ollama
近年來AIGC迅速發展,模型多樣化、使用門檻降低。Ollama是一種開源的語言模型服務工具,支持多種大型語言模型,方便用戶在本地PC上實驗、管理和部署。Ollama簡化了模型使用的過程,不論是CPU還是GPU都可以使用,算力不足則處理較慢。安裝很簡單,可以通過官網下載或GitHub下載,安裝後可以設置環境變數來調整設置。常用命令包括列出、查看、下載和運行模型,以及通過HTTP介面調用服務。需要註意的是較大模型運行需要較高記憶體或顯存。Ollama適用於特定場景的推理任務,但不及商業模型如ChatGPT全面。
C#/.NET/.NET Core技術前沿周刊 | 第 4 期(2024年9.1-9.8)
https://www.cnblogs.com/Can-daydayup/p/18405238
本文是關於C#、.NET、.NET Core相關技術的概覽,包括最新文章、項目、學習資源和社區動態。重點介紹了Azure Developers - .NET Aspire Day 2024活動及其在雲開發中的應用。從.NET 9中移除了BinaryFormatter,並討論了ASP.NET Core中的防抖實現。還介紹了一些C#用戶控制項如流動管道和指示燈,以及使用Dependify工具處理.NET依賴關係。展示了一個.NET開源Git GUI工具和設計模式課程。Avalonia UI框架作為跨平臺UI解決方案被介紹,同時探討了Span和Substring如何提升.NET性能。最後,文章闡述了事務發件箱模式在雲原生開發中的應用,及musl libc與glibc在.NET應用中的相容性。
.NET 8 微軟免費開源的 Blazor UI 組件庫
https://www.cnblogs.com/1312mn/p/18404007
.NET 8 發佈了微軟開源的Blazor UI組件庫——Fluent UI Blazor。該庫為Web應用程式提供工具,確保與Microsoft產品一致的外觀。Fluent UI Blazor封裝了微軟官方Fluent UI組件,並提供額外功能,簡化開發流程。Blazor利用C#構建互動式Web應用,結合Fluent UI可創建現代UI。此庫專為ASP.NET Core Blazor設計,適用於.NET 8。若使用.NET 6或7,請選用Microsoft.Fast.Components.FluentUI的v3版本。Blazor支持SPA和Web服務開發,通過C#代碼操作HTML DOM,降低對JavaScript依賴。組件遵循Fluent設計,易於集成和定製,符合可訪問性標準。開發可通過GitHub源碼學習組件使用。
GitHub Copilot 典型使用場景實踐
https://www.cnblogs.com/edisonchou/p/-/github-copilot-real-practices-in-sewc
本文討論了GitHub Copilot在開發中的實用技巧。Copilot是一個由GitHub、OpenAI和Microsoft開發的AI工具,可在代碼編寫中提供建議和優化。對於.NET程式員,安裝方便且能快速提高效率。在使用中,Copilot能自動生成代碼、優化重覆代碼,並通過語義理解增強代碼質量。作者強調在團隊中使用統一提示詞以提高Code Review效率,並利用Copilot進行代碼翻譯,如從COBOL轉換為Python。此外,作者建議結合團隊的代碼標準文檔,讓Copilot遵循既定規範給出建議。
Entity Framework Plus: 讓 EF Core 開發如虎添翼
https://www.cnblogs.com/Can-daydayup/p/18411468
Entity Framework (EF) Core 是適用於 .NET 的開源對象資料庫映射器,支持多種資料庫和功能擴展。Entity Framework Plus 提高了 EF Core 的性能,提供批量操作、查詢緩存和審計跟蹤等功能。EF Plus 支持多版本的 EF,易於通過 NuGet 集成。文中詳細介紹了批量刪除、更新操作的代碼示例,以及查詢過濾器的應用方法。項目資源和文檔在 GitHub 上開源,並被納入 C#/.NET 優秀項目中。
.NET 開源的功能強大的人臉識別 API
https://www.cnblogs.com/1312mn/p/18406833
文章介紹了一款.NET開源的人臉識別API,名為FaceRecognitionDotNet。該項目基於Python的面部識別庫face_recognition,並使用OpenCVSharp和face_recognition開源庫。它提供跨平臺支持,包括Windows、Linux和macOS,具備預測年齡、情緒識別、性別判斷、臉部標記等功能。項目在GitHub上有1.2k星標,易於集成,提供NuGet包。文末鼓勵讀者點贊和參與技術交流。
.net core8 使用Swagger(附當前源碼)
https://www.cnblogs.com/cyzf/p/18410483
文章介紹了OverallAuth2.0許可權+可視化流程管理系統的搭建和優化過程。系統採用前後端分離模式,使用.net core web api。文章詳細描述瞭如何創建項目及優化Swagger的步驟,包括文件和類的創建、Swagger中間件的使用等。強調在控制器上添加路由和分組,確保系統正常運行並展示優化效果。最後,提供源代碼地址,並邀請讀者關註作者。
UWP 通過 .NET 9 和Native AOT 的支持實現 UWP 應用的現代化
https://www.cnblogs.com/shanyou/p/18412887
微軟正在預覽對 .NET 9 的 UWP 支持,以幫助開發者利用最新的 .NET 和 Native AOT 實現應用現代化。這為希望遷移到 Windows 應用 SDK 和 WinUI 3 的開發者提供了一條更好的路徑,通過分階段遷移降低風險,提升性能。儘管 UWP 已接近被微軟放棄,但通過更新底層代碼和消除對 .NET Native 的依賴,開發者可以在現有平臺上享受新功能。此更新吸引了許多傳統 UWP 開發者,不需全面遷移即可升級到 .NET 9。微軟提供的預覽版雖有粗糙之處,但預計將成為開發者首選的升級方式。
Redis 入門 - C#|.NET Core客戶端庫六種選擇
https://www.cnblogs.com/hugogoos/p/18409367
文章介紹了六款.NET系Redis客戶端庫:ServiceStack.Redis、StackExchange.Redis、CSRedisCore、FreeRedis、NewLife.Redis、BeetleX.Redis。ServiceStack.Redis以其豐富的功能和高性能著稱,但因商業性並非首選。StackExchange.Redis性能優越,支持多節點與集群。CSRedisCore保持與redis-cli一致,支持多種Redis功能。FreeRedis在記憶體使用和持久化方面有所改進,功能更為全面。文章通過代碼示例展示了各庫的基本用法。
全能還是專精?關於技術通才與技術專家的思考
https://www.cnblogs.com/wang_yb/p/18414129
在日新月異的IT行業中,技術和框架不斷更新,如前端的從jQuery到React、Vue,後端從靜態架構到雲和微服務。文章探討了在如此快速迭代的環境中,應該選擇成為通才還是專家。通才用廣泛的知識解決多領域問題,如喬布斯、馬斯克,而專家則在特定領域深入研究。合適的選擇取決於個人興趣和經驗,建議在興趣和經驗中找到平衡。無論選擇什麼,重要的是不斷學習和跨領域探索,不因困難放棄,通才和專家各有優勢。
C# 開源教程帶你輕鬆掌握數據結構與演算法
https://www.cnblogs.com/1312mn/p/18408107
《Hello演算法》是一本開源、免費且友好的數據結構與演算法入門教程,支持多種編程語言,包括C#。教程採用動畫圖解,內容易懂,並提供可一鍵運行的源代碼,幫助初學者理解演算法和數據結構。項目提倡互助學習,通過評論交流提升技能。教程可在GitHub上獲取,也提供線上閱讀和PDF下載。
推薦3款卓越的 .NET 開源搜索組件庫
https://www.cnblogs.com/Can-daydayup/p/18413806
.NET有多個優秀的開源搜索組件庫。Elasticsearch .NET提供強類型請求和響應,處理HTTP連接和重試。Lucene.NET是Java Apache Lucene的移植版,為.NET提供強大的搜索和分析能力。SolrNet是針對.NET的Solr客戶端庫,適合瞭解Solr的用戶。這些項目影響C#/.NET開發效率和質量,歡迎貢獻。
記一次 .NET某上位機視覺程式 卡死分析
https://www.cnblogs.com/huangxincheng/p/18413420
文章描述了一位朋友的窗體程式在客戶端發生卡死的情況。作者通過使用WinDbg分析dump文件來查找問題根源。分析過程中,作者利用!clrstack和!dso命令查找主線程和相關對象,發現是工作線程創建用戶控制項導致的問題,而該控制項與DevComponents有關。文章涉及對WindowsFormsSynchronizationContext的深入分析,嘗試找到創建控制項的具體線程,但只發現了主線程的同步上下文,沒有如預期的兩個上下文,顯示出dump分析的複雜性。作者強調了從線程棧的方法中尋找突破口的重要性,並簡化展示了System.Windows.Forms.Control.MarshaledInvoke方法的關鍵部分。
WPF 實現一個吃豆豆的Loading載入動畫
https://www.cnblogs.com/lvpp13/p/18412070
該文章介紹如何在.NET環境中使用expression.Drawing庫,創建一個無邊框透明視窗,應用圓弧控制項製作載入動畫。通過設置名稱空間和視窗樣式,實現漸變背景效果,使圓弧看起來像球體。然後在視窗中添加堆疊面板和多個圓形元素,並且使用Storyboard添加動畫效果,描述控制項的動態行為。
Redis 入門 - 收官
https://www.cnblogs.com/hugogoos/p/18412627
《Redis 入門》系列文章旨在幫助初學者系統學習Redis。作者通過回顧親身經歷,提供Redis基本信息、安裝方法、可視化工具和五大基礎數據類型等內容。文章還結合C#/.NET Core介紹了六款Redis客戶端庫的應用場景和使用方法,並封裝了一個簡單的客戶端庫Nuget以方便項目擴展。作者希望分享經驗,幫助他人避免踩坑,提升學習效率,並計劃繼續發佈《Redis 進階》系列。
.NET 的 Native AOT 現在是什麼樣的?
https://www.cnblogs.com/shanyou/p/18415013
.NET平臺一直在創新,特別是.NET Native AOT技術,這是一項前沿進步。Native AOT編譯將C#代碼直接編譯為本機代碼,不再依賴運行時JIT編譯。這提升了性能,縮短啟動時間,簡化部署,減小應用程式大小,並增強知識產權保護。然而,它也帶來了平臺特定編譯、部分不相容Reflection等挑戰。微軟在.NET 9中重點發展Native AOT,支持老舊系統如Windows 7和XP,並計劃在未來擴展到更多平臺。這提高了.NET應用的執行效率和相容性,對開發者是重要的技術升級。
使用Roslyn分析器和修複器 對非同步方法規範化返回Async結尾
https://www.cnblogs.com/vipwan/p/18412585
這篇文章介紹了使用Roslyn代碼修複器對非同步返回方法進行規範化的過程。首先需要實現分析器,通過註冊語法節點操作分析所有方法聲明的語法節點。文章詳細描述了創建AsyncMethodNameAnalyzer診斷程式的步驟,並定義了非同步方法名稱需要以Async結尾的規則。文章解釋瞭如何根據方法的返回類型和修飾符來判斷是否報告診斷問題。此外,文章展示了代碼的運行邏輯以確保非同步方法名符合規範。
Redis入門 - C#|.NET Core封裝Nuget包
https://www.cnblogs.com/hugogoos/p/18411381
文章介紹如何封裝自己的Redis C#庫並打包為Nuget。作者並非開發新客戶端,而是基於已有庫進行簡單封裝以提升可測試性和解耦性。通過依賴註入增強測試能力,通過封裝介面實現庫間靈活切換,還有助於擴展功能。提供的示例展示如何定義介面、實現自定義方法,並以CSRedisClient為例實現介面。最終目的是提高編碼效率和維護性。
VS2022 17.12.0 Preview2版本對Copilot的功能增強
https://www.cnblogs.com/vipwan/p/18408246
使用最新版17.12.0 Preview2,擁有Copilot AI訂閱,可以體驗改進的IEnumerable Visualizer的編輯表達功能。AI幫助實現複雜條件篩查,驗證結果,提高開發和調試便利性。提供單元測試失敗的信息和斷點建議,比較受監視變數的值和期望值。多次驗證錯誤時,可繼續詢問以獲得滿意的解決。調試時,可通過AI獲取變數信息、修複建議和調用鏈分析。
dotnet 學習 CPF 框架筆記 瞭解 X11 里如何獲取觸摸信息
https://www.cnblogs.com/lindexi/p/18123027
本文記錄了我學習CPF框架的筆記,重點探討如何在dotnet C#中獲取X11的觸摸信息,包括多指觸摸、觸摸面積和壓感等。CPF框架是一個純C# dotnet實現的跨平臺UI框架,支持多個操作系統和國產化平臺,設計理念類似WPF。文中詳細介紹瞭如何使用CPF代碼獲取主觸摸設備並註冊觸摸事件,並提供了相關代碼示例和下載鏈接。本文通過實踐演示了CPF框架在跨平臺UI解決方案中的應用。
架構師備考的一些思考(四)
https://www.cnblogs.com/kiba/p/18410661
本文討論了數學與電腦教育的不足,指出學生在校學習後的實踐能力不足。通過案例分析強調實際經驗的重要性,並探討了數據分片與雲原生架構的應用。文章提供了項目撰寫與技術選擇的建議,強調數據分片技術的三種類型及其對系統性能的提升作用。同時,介紹了雲原生架構的四個設計原則及其在項目中的應用。技術部分涵蓋了多種編程語言及工具,細緻描述了系統架構與功能。最後,建議論文寫作中要註重字數擴展與個人見解表達。
C# 開源教程帶你輕鬆掌握數據結構與演算法
https://www.cnblogs.com/1312mn/p/18408107
《Hello演算法》是一本面向初學者的數據結構與演算法教程。它支持包括C#在內的多種編程語言,採用動畫圖解幫助理解。代碼可一鍵運行,提升實操能力。項目鼓勵讀者互動交流,實現共同學習進步。
Redis入門 - C#|.NET Core封裝Nuget包
https://www.cnblogs.com/hugogoos/p/18411381
本文介紹如何封裝自己的Redis C#庫並打包成Nuget包。首先,通過依賴註入增強代碼的可測試性和解耦性。其次,通過封裝一層介面,使得使用不同的Redis客戶端庫變得更靈活,降低了更換成本。同時,強調封裝可以擴展功能,提升Redis庫的應用價值。最終,通過定義介面和自定義方法,示例展示瞭如何以CSRedisClient庫為基礎進行封裝,旨在提供更便捷的Redis功能管理和擴展。
UWP 通過 .NET 9 和Native AOT 的支持實現 UWP 應用的現代化
https://www.cnblogs.com/shanyou/p/18412887
微軟預覽支持 .NET 9 的 UWP,提供現代化應用的路徑,鼓勵開發者轉向 Windows App SDK 和 WinUI 3。此預覽僅更新工具和組件,無新特性。UWP 於 2015 年推出,微軟通過 WinUI 3 和 Windows UI 庫為 UWP 提供新選擇。支持 .NET 9 的主要目標是為 UWP 開發者提供逐步遷移至 WinUI 3 的途徑,減少對 .NET Native 的依賴,使應用現代化。此更新旨在降低遷移風險,提高性能,提高代碼的現代化程度。微軟希望此調整能讓更多開發者升級應用至最新 .NET 和 C#,而不必全面遷移至 Windows App SDK。
WPF 實現一個吃豆豆的Loading載入動畫
https://www.cnblogs.com/lvpp13/p/18412070
這篇文章介紹瞭如何在WPF中使用expression.Drawing庫創建載入動畫。先安裝expression.Drawing包,然後配置視窗樣式,並使用庫中的圓弧控制項。設置圓形漸變使其看起來像一個球體。接下來,通過StackPanel放置多個圓,並用Style設置其大小和顏色。最後,使用Storyboard為動畫部分添加迴圈動畫,使控制項動態展示。
MonoDevelop 的續集dotdevelop
https://www.cnblogs.com/shanyou/p/18415351
DotDevelop 是一個基於 MonoDevelop 的跨平臺 .NET IDE,專註於 Linux 支持和 GTK3 升級。儘管與原版相似,但進行了多項改進和功能擴展。隨著微軟關閉 Mac 版 Visual Studio IDE,DotDevelop 獲得更多關註。開發者正努力使其相容最新的 Linux 和 .NET Core 版本。它使用三星的.NET Core調試器netcoredbg,並有活躍的開發社區在 GitHub 上支持持續開發。
架構師備考的一些思考(四)
https://www.cnblogs.com/kiba/p/18410661
文章討論數學和電腦教育的局限性,認為現階段學習缺乏真實應用。通過案例分析,建議結合自身經驗回答問題。論文部分涉及數據分片技術和雲原生架構,強調項目參與及遇到的問題。詳細描述智慧綜合管理平臺的功能與使用技術,提到利用多種技術棧實現系統功能。強調在系統中使用了具體技術如hash分片和布隆過濾以提升性能。文章建議論文寫作要廣泛,不能選擇字數擴展性小的主題。最後,文章要求轉載時需取得授權。
主題
.NET 9 候選版本 1 現已推出 - .NET 博客
https://devblogs.microsoft.com/dotnet/dotnet-9-release-candidate-1-is-now-available/
.NET 9 候選版本 1 已發佈。
- BCL
- WebSocket 保持活動 Ping 和超時 API
- 添加了 ZLib、Brotli 壓縮選項
- 添加了 TarEntry.DataOffset
- 預設情況下禁用 HttpClientFactory 的標頭值日誌記錄
- 進程外儀錶通配符訂閱
- SDK
- 工作負載歷史記錄
- ASP.NET核心
- 改進了 SignalR 分散式跟蹤
- WebSockets 保持活動超時
- 中間件中的鍵控 DI
- 覆蓋InputNumber類型屬性
- 在 Linux 上信任 ASP.NET Core HTTPS 開發證書
- .NET MAUI
- 添加了 HorizontalTextAlignment.Justify
使用 OpenTelemetry 增強適用於 .NET 的 AWS 開發工具包的可觀察性 |
適用於 .NET 3.7.400 及更高版本的 AWS 開發工具包支持的 OpenTelemetry 支持的說明。
本文介紹瞭如何啟用和添加 OpenTelemetry 集成、支持哪些指標以及如何創建您自己的遙測提供程式。
2.8.16 版 · StackExchange/StackExchange.Redis
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.8.14
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.8.16
StackExchange.Redis 2.8.14、2.8.16 已發佈。
此版本修複了多個錯誤。
GitHub 模型和 .NET:為工程師構建生成式 AI 應用程式 - .NET 博客
https://devblogs.microsoft.com/dotnet/using-github-models-and-dotnet-to-build-generative-ai-apps/
瞭解如何使用 .NET 中的 GitHub 模型。
本文介紹了使用 Phi-3 模型和 Azure AI 推理 SDK 來使用 GitHub 模型的示例。
適用於 .NET 和 .NET MAUI Android 應用程式的 Android 資源包 - .NET 博客
https://devblogs.microsoft.com/dotnet/android-asset-packs-in-dotnet-android/
關於構建 .NET 9 支持的 Android 資源包。
本文解釋了什麼是資產包、.NET 迄今為止遇到的問題將在 .NET 9 中得到解決,以及如何按需下載和調試資產包。
關於取消游戲區運行費
https://unity.com/ja/blog/unity-is-canceling-the-runtime-fee
關於取消原定在 Unity 6 及更高版本中引入的運行時費用(根據安裝數量計費)。
.NET 9 中的性能改進 - .NET 博客
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-9/
通過代碼和基準詳細解釋 .NET 9 中的各種性能改進。
Visual Studio 2022 中 SDK 樣式 SQL 項目的預覽版
在 Visual Studio 的 SQL Server Data Tools 項目中添加了對 SDK 樣式項目的預覽支持。
通過對 .NET 9 和本機 AOT 的預覽 UWP 支持來現代化您的 UWP 應用 - #ifdef Windows
https://devblogs.microsoft.com/ifdef-windows/preview-uwp-support-for-dotnet-9-native-aot/
.NET 9 添加了對 UWP 的預覽支持。
.NET 9 中對 UWP 的支持使得能夠遷移到 WinUI 3,並能夠從更新的 .NET Core 2.0 級別功能和 .NET Native (AOT) 運行時遷移到現代 C# 和 .NET 運行時開發。
本文還介紹瞭如何使用 .NET 9 創建 UWP 項目、項目文件的詳細說明、F# 支持以及其他生態系統支持狀態。
使用 componentize-dotnet 為 .NET/C# 開發人員簡化組件
https://bytecodealliance.org/articles/simplifying-components-for-dotnet-developers-with-componentize-dotnetcomponentize-dotnet 的預覽版已經發佈,它允許您從 .NET 工具輸出 WebAssembly 組件。
componentize-dotnet 是一個包含 NativeAOT 的 LLVM 編譯器、綁定生成和 WASI SDK 的包,允許您通過簡單地引用 NuGet 包來使用 dotnet build 生成 WebAssembly 組件。
- [“componentize-dotnet”,它允許您創建與 .NET 中的 WebAssembly 最新規範“WASI Preview 2”相容的組件,由位元組碼聯盟開源發佈](https://www.publickey1.jp/blog/24 /netweb assemblywasi_preview_2componentize-dotnetbytecode_alliance .html)
文章、幻燈片等
如何在 Arm64 設備上本機運行 .NET 應用程式 - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/how-to-run-net-apps-natively-on-arm64-devices/
如何使用 Visual Studio 2022 和 Windows 11 24H2 在 Arm 環境中本地運行使用 Arm 上指定的任何 CPU 的 .NET 應用程式。
[C#] 不宜輕易使用Expression.Compile()的原因及對策 - Qiita
https://qiita.com/simoyama2323/items/8741f455292c03ed1fd9
使用 Expression.Compile 的成本是多少?
本文還介紹了當您不需要使用 Expression.Compile 時的替代方案。
瞭解具有抽象基類的 XAML 設計器的行為 - Visual Studio 博客
關於 Visual Studio 2022 中 XAML 設計器中使用抽象類的控制項的行為。
文章闡述了使用抽象類時出現的問題及解決方案。
使用 TUnit!
https://zenn.dev/masakura/articles/e0238d7b87dedd
介紹 TUnit,一個類似於 xUnit 和 NUnit 的測試框架。
.NET 9 中的新 LINQ CountBy
https://zenn.dev/tomokusaba/articles/83a3fdf6515435
CountBy 簡介,在 .NET 9 的 LINQ 中引入。
C# 11.0 新功能:ref 欄位和作用域關鍵字 | endjin
https://endjin.com/blog/2024/09/dotnet-csharp-11-ref-fields-scoped-keyword
C# 11 的 ref 和scoped 關鍵字的說明。
使用 JetBrains Rider 和 StrawberryShake 在 .NET 中構建 GraphQL 客戶端 | .NET 工具博客
關於使用 Rider 和 StrawberryShake 實現 GraphQL 客戶端。
本文介紹瞭如何使用 Rider 的 GraphQL 擴展插件高效地進行 GraphQL 開發。
[LINQ] 理解 GroupJoin
https://zenn.dev/shimiyu/articles/5a01676d6165f7
有關 LINQ 的 GroupJoin 方法的行為說明。它還提到了與 SelectMany 結合使用的連接。
在 C# 中實現 Floyd-Warshall 演算法來解決所有對最短路徑問題
本書用C#實現了搜索最短路徑的Floyd-Warshall演算法,並解釋瞭如何優化其實現。
可枚舉集合的散佈值
https://khalidabuhakmeh.com/intersperse-values-for-enumerable-collections
如何實現 Interspase 方法以在集合的元素之間添加元素。
使用 EventPipe 跟蹤分配第 3 部分 — 不使用 dotnet-trace 進行跟蹤
第 3 部分介紹如何使用 EventPipe 跟蹤分配。
本文介紹如何使用 DiagnosticsClient 從正在運行的會話進行跟蹤、涉及的問題以及使用 dotnet-trace 的解決方案。
使用 C# .NET 8.0+Native AOT 創建控制台應用程式 - Qiita
https://qiita.com/nekotadon/items/6031ec1d90f1834e2324
說明在 .NET 8 中使用本機 AOT 構建控制台應用程式的步驟。
讓我們開始使用 Semantic Kernel 的多智能體 AI 功能第 2 部分
https://zenn.dev/microsoft/articles/semantic-kernel-agents-003
閱讀有關 Semantic Kernel 的 Agent 相關類及其代碼的更多信息。
以 PEM 格式保存和載入 RSA 密鑰對,並使用 C# 加密和解密消息 [.NET 7 及更高版本支持] - Qiita
https://qiita.com/SoundOrion/items/6d4da8b6cce6b52e318d
如何使用 .NET 7 及更高版本支持的 PEM 格式 RSA 密鑰加密和解密消息。
EventSource 的意外使用或如何在 CLR 拉取請求中測試統計結果
關於使用 EventSource 在 CLR 拉取請求中測試統計結果的故事。
從 WinRT COM 介面轉換為 Win32 COM 介面 - Qiita
https://qiita.com/kumakamikoubou/items/245991bb7b247da1eea8
如果需要將 WinRT 介面轉換為 Win32 COM 介面,例如將 IMemoryBufferReference 轉換為 IMemoryBufferByteAccess,該怎麼辦?
.NET 9 中字典和 HashSet 的備用查找 - NDepend 博客
https://blog.ndepend.com/alternate-lookup-for-dictionary-and-hashset-in-net-9/
它解釋了 GetAlternateLookup API 的性能和獨特的實現方法,該 API 已添加到 .NET 9 中的 Dictionary 和 HashSet 中。
使用 PublicApiGenerator 防止公共 API 發生重大更改
https://andrewlock.net/preventing-writing-changes-in-public-apis-with-publicapigenerator/
如何使用 PublicApiGenerator 防止對類庫的公共 API 進行重大更改。
文章介紹了使用PublicApiAnalyzer時的不滿以及使用PublicApiGenerator和單元測試作為替代方法的驗證方法。
WebAssembly 和容器:使用 .NET Aspire 編排分散式架構
https://www.infoq.com/articles/web assembly-containers-dotnet-aspire/
引入 Fermyon.Aspire.Spin,它允許您在 .NET Aspire 上托管運行無伺服器 WebAssembly 應用程式的 Spin。
嘗試反編譯一個值類型記錄 - Qiita
https://qiita.com/abetakahiro123/items/0ea0eeaa82e6921ede87
解釋值類型記錄如何反編譯和實現。
為什麼 F# 代碼如此健壯和可靠? - .NET 博客
https://devblogs.microsoft.com/dotnet/why-is-fsharp-code-so-robust-and-reliable/
關於 F# 代碼的穩健性和可靠性的介紹性文章。 (訪客在 .NET 博客上貢獻了文章)
Visual Studio 調試器中非同步用戶未處理異常的中斷 - Visual Studio 博客
關於在將 Visual Studio 與 .NET 9 或更高版本一起使用時中斷非同步處理期間發生的用戶未處理異常的能力。
使用 ASP.NET Core 進行開發時使用的環境變數現在由 1Password 管理
https://zenn.dev/i999m/articles/4e613a5cc95e6b
瞭解在開發 ASP.NET Core 應用程式時如何使用 1Password 管理、檢索和執行環境變數。
WinUI 3 中實用的視窗大小設置 - Qiita
https://qiita.com/emocht/items/e3935ebc6f713f95ed50
如何通過 WinUI 3 中的代碼設置視窗大小。文章中提到了使用AppWindow.ResizeClient的具體實現方法。
學習構建您的第一個 Blazor 混合應用程式 - .NET 博客!
https://devblogs.microsoft.com/dotnet/introducing-blazor-hybrid-workshop/
介紹創建 Blazor 混合應用程式的研討會- [dotnet-presentations/blazor-hybrid-workshop:全天研討會(.NET MAUI Blazor Hybrid Workshop in a Box),介紹如何使用適用於 iOS、Android、macOS 和 Windows 的 .NET MAUI 構建 Blazor Hybrid 應用程式](https //github.com/dotnet-presentations/blazor-hybrid-workshop)
搜索範圍可幫助您找到所需內容 - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/search-scoping-helps-you-find-what-youre-looking-for/
如何在 Visual Studio 搜索中指定範圍(解決方案、項目、文檔)。
VisualStudio.Extensibility 17.11:設置和更多遠程 UI 支持 - Visual Studio 博客
關於新的 Visual Studio 擴展性模型 VisualStudio.Extensibility 17.11 版本。
17.11 包括配置支持、遠程 UI 增強、工具欄和工具視窗等的更新。
本文還介紹了項目查詢 API 文檔的更新以及有關實驗性 API 和重大更改的決策。
我使用 ONNX Runtime 的 QNN Execution Provider 在 Snapdragon X Elite 的 NPU 上執行圖像分類 - Shibayan Miscellaneous
https://blog.shibayan.jp/entry/20240911/1726041638
瞭解如何在 ONNX Runtime 中使用 QNN Execution Provider 和 Qualcomm AI Engine Direct SDK 在 Snapdragon X Elite 的 NPU 上執行 ResNet50 圖像分類。
在 Linux 應用服務上使用 Phi-3 ONNX 運行時和 Sidecar 模式實現本地 RAG
https://azure.github.io/AppService/2024/09/03/Phi3-vector.html
如何通過運行 ONNX 運行時和 Phi-3 模型作為 sidecar 後端來在 Azure Linux 應用服務中實現本地 LAG。
C#/.NET 推薦
https://zenn.dev/tomokusaba/articles/3b1150edaafb8c
簡要介紹當前的 C# 和 .NET。
活動、視頻等
午休時間玩玩Semantic Kernel (2024/09/26 12:00~)
https://msdevjp.connpass.com/event/330257/
庫、存儲庫、工具等。
prozolic/CsToml:.NET 的 TOML 解析器/序列化器
https://github.com/prozolic/CsToml
面向性能的 TOML 解析器/序列化器庫。
版權聲明
- 國內板塊由 InCerry 進行整理 : https://github.com/InCerryGit/.NET-Weekly
- 其餘內容來自 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,歡迎大家加入。
本文由博客一文多發平臺 OpenWrite 發佈!