.NET週刊【2月第2期 2024-02-11】

國內文章

C#/.NET該如何自學入門?

https://www.cnblogs.com/Can-daydayup/p/18006914

隨着DotNetGuide技術社區交流羣的擴大,很多新成員希望知道如何自學C#/.NET。本文提出了自學建議:首先要了解語言特點與發展,然後制定詳細學習計劃,以微軟官方文檔爲學習起點,並結合動手實踐與其他資源來提升自我。還推薦了學習資料包括學習路線圖、推薦書籍、學習視頻、面試寶典以及一些優秀項目框架,並鼓勵加入技術社區交流羣以獲取更多幫助。

.NET Avalonia開源、免費的桌面UI庫 - SukiUI

https://www.cnblogs.com/Can-daydayup/p/18010574

SukiUI是一個開源的基於.NET Avalonia的桌面UI庫,它提供了包括淺色和深色在內的主題切換功能和一些額外控件,以幫助開發者創建豐富的用戶界面。Avalonia框架支持多平臺,可以讓開發者創建跨平臺應用,並保證UI在不同操作系統上的一致性。SukiUI項目代碼可以在GitHub上找到,並已被收錄進C#/.NET/.NET Core優秀項目和框架精選。DotNetGuide技術社區是爲.NET開發者提供資源和交流的開源社區。

點亮.NET的文字雲藝術之光——Sdcb.WordCloud 2.0

https://www.cnblogs.com/sdflysha/p/18012571/sdcb-wordcloud-2_0

Sdcb.WordCloud 2.0是.NET開發者用於創建文字雲的一個庫。此版本提升了性能,優化了指針操作,支持跨平臺,可以輸出多種格式。它擁有高度的定製性並且是開源的。此庫讓開發者可以輕鬆創建不同文本方向、應用遮罩、特定字體的文字雲,並且支持生成SVG格式及轉換爲JSON數據。

開啓未來創新之門:.NET Conf China 2023 精彩回顧及資料下載

https://www.cnblogs.com/shanyou/p/18011287

.NET Conf China 2023中國.NET開發者大會於2023年12月16日至17日在北京舉辦,由.NET中文社區主辦,並得到多家組織的支持。會議內容豐富,包含主題講座、分會場討論和工作坊,共有30餘位.NET領域的專家分享,近300名現場觀衆參加,16萬在線觀衆觀看直播。會議涉及.NET 8新功能、AI、雲原生、IoT等多個技術話題,旨在爲.NET愛好者提供交流平臺。

.NET中使用BootstrapBlazor組件庫Table實操篇

https://www.cnblogs.com/Can-daydayup/p/18008726

BootstrapBlazor是一套基於Bootstrap和Blazor的企業級組件庫,提供了100多種組件,特別適合喜歡Bootstrap風格的開發者。文章以學生信息管理爲例,介紹了BootstrapBlazor Table組件的使用方法,包括數據模型的定義、後臺模擬數據的生成和增刪改查方法的封裝,不需連接數據庫。整個過程中使用的示例數據均爲程序自動生成。

Asp .Net Core 系列:Asp .Net Core 集成 NLog

https://www.cnblogs.com/vic-tory/p/18010317

NLog是一個用於.NET平臺的日誌類庫,提供靈活的配置和高性能的日誌記錄功能。支持結構化和傳統日誌記錄,易用性和擴展性強,適用於.NET Framework、.NET Core、Xamarin、ASP.NET等多個平臺。使用BSD許可證,源代碼開放。配置文件支持通過targets定義日誌輸出目標,並通過rules設置日誌記錄規則,如日誌級別、寫入目標等。

AgileConfig-1.9.0 發佈,支持 MongoDB 存儲

https://www.cnblogs.com/kklldog/p/18011534/agileconfig-190

AgileConfig 1.9.0版本爲支持Mongodb進行了大重構,新增了存儲層抽象,使得對RDB和Nosql的擴展更容易,並加強了單元測試。更新後可以簡單配置實現Mongodb作爲存儲。但需注意MongoDB單節點不支持事務,建議使用集羣。若從老版本升級需注意系統日誌表主鍵類型變更。項目地址https://github.com/dotnetcore/AgileConfig,同時提供了Demo地址。

使用 WPF + Chrome 內核實現高穩定性的在線客服系統複合應用程序

https://www.cnblogs.com/sheng_chao/p/18009246

本文介紹瞭如何使用WPF加Chrome內核通過WebView2組件實現複合客服端應用程序。首先需通過NuGet安裝WebView2 SDK,並在WPF界面中添加WebView組件。然後設置WebView2控件在網頁導航時響應一系列事件,如確保HTTPS連接。最後,可使用ExecuteScriptAsync方法讓WebView2控件執行JavaScript代碼,以增加應用的交互性。文中還提供了在線客服系統不丟消息的視頻實拍鏈接。

基於C#的屏幕鼠標跟隨圈圈應用 - 開源研究系列文章

https://www.cnblogs.com/lzhdim/p/18010388

作者利用C#開發了一個Windows系統級別的鼠標跟隨圈圈效果應用,沒有得到博問社區滿意的答案後,自行完成開發。項目提供了目錄結構、關鍵代碼介紹、使用方法與源碼下載鏈接,並指出當前版本爲初版,未來將優化窗體形狀與效果。作品集與開源研究系列作品也一併給出了鏈接,作者期待通過開源項目幫助對C# Winform效果感興趣的開發者。

Asp .Net Core 系列:Asp .Net Core 集成 Panda.DynamicWebApi

https://www.cnblogs.com/vic-tory/p/18011427

Panda.DynamicWebApi 是一個基於ASP.NET Core的組件,用於動態生成遵循Restful風格的WebApi,類似於ABP框架。它通過分析特定類生成WebApi,並且支持與Swagger的集成。特別適用於DDD架構中,可以直接從應用邏輯層生成WebApi,無需編寫Controller。通過Nuget安裝後,可在Startup中配置,如設置API前綴,定義Action名稱處理方式等,並添加自定義的服務實現如AppleAppService,實現IDynamicWebApi接口。

十八張圖帶你入門實時監控系統HertzBeat

https://www.cnblogs.com/makemylife/p/18008977

HertzBeat 赫茲跳動是一款開源的實時監控告警系統,擁有強監控模版和免Agent的特色。它利用SNMP、JMX、JDBC等標準協議和規範來採集各類數據,並可以通過編寫YML監控模版進行配置化管理。HertzBeat提供Docker一鍵安裝,能監控如Redis數據庫和SpringBoot服務,並支持郵件等多種通知方式的報警配置。使用體驗良好,不僅界面清新,而且操作流暢,監控系統設計和知識點很豐富。

【譯】VisualStudio 17.9預覽3帶來了令人興奮的代碼搜索改變

https://www.cnblogs.com/MeteorSeed/p/18005882

VisualStudio17.9預覽版3更新了代碼搜索功能,現在可以在解決方案中搜索局部變量名、註釋、參數名以及其他字符串。新搜索體驗集成了精確文本匹配,但文本結果優先級較低,不會干擾現有工作流程。用戶還可通過快捷鍵或菜單過濾到僅文本結果,並使用匹配大小寫、整個單詞或正則表達式進行搜尋。這項功能目前在預覽版中可用,將在17.9的主版本中作爲預覽功能提供。微軟希望用戶繼續通過開發者社區提供反饋。

【譯】發佈 .NET Aspire 預覽版 2(一)

https://www.cnblogs.com/MingsonZheng/p/18012175

.NET Aspire 預覽版 2 現已推出,這是一個針對分佈式雲應用開發的 .NET 解決方案。新版增加了儀表板的整合視圖、詳細的窗格設計以及控制檯日誌的改進。對託管和編排環節進行了增強,特別是在容器的參數傳遞和服務發現配置方面。新組件被添加以支持MySQL和MongoDB,同時優化了Azure SDK。部署方面包括了Azure CLI的改進和社區工具Aspir8的引入。Dapr集成現在對應用程序模型有着更好的支持。此外,文章還包含了如何安裝或升級、更新現有應用程序和API變更等信息。

【譯】宣佈推出適用於 .NET 的 Azure Migrate 應用程序和代碼評估工具

https://www.cnblogs.com/MingsonZheng/p/18011470

微軟發佈了Azure Migrate應用程序和代碼評估工具(AppCAT),協助將本地.NET應用遷移到Azure。此工具能靜態分析.NET應用的源碼、配置和二進制文件,識別潛在的遷移問題,並提供現代雲原生解決方案建議。AppCAT提供兩種格式:Visual Studio擴展和.NET CLI工具。工具能夠生成包含問題和修復建議的報告,支持C#和Visual Basic語言,分析各類.NET框架項目,並針對不同Azure服務預測遷移問題。未來計劃融入AI並針對選定Azure目標提供更具體評估。

初步體驗通過 Semantic Kernel 與自己部署的通義千問開源大模型進行對話

https://www.cnblogs.com/dudu/p/18012653

作者在春節前對Semantic Kernel感興趣,研究並學習了相關博文。爲便於實踐,作者選擇部署了中文友好的開源大模型通義千問,併成功通過容器方式部署。但在使用Semantic Kernel與通義千問互動時遇到了不互支的問題,於是通過修改請求的URL解決了問題。在嘗試發送prompt時,作者又遇到了錯誤響應,但後來參考相關文章成功解決,並得到了通義千問的回答。作者分享了全過程及完整代碼。

【譯】介紹 MSTest Runner – CLI、Visual Studio 等

https://www.cnblogs.com/MingsonZheng/p/18010201

MSTest runner是一個輕量級的測試運行程序,能獨立運行MSTest測試,增加了測試的可攜帶性和速度,簡化了測試運行的環境需求。安裝簡便,通過兩個MSBuild屬性進行配置即可啓動。在不需要dotnet test、vstest.console或Visual Studio的情況下運行測試,兼容適用於功率或存儲有限設備。此外也支持docker容器內的應用程序測試,易於在不同環境下重現和調試測試失敗的情況。

在Windows上使用.NET部署到Docker 《讓孩子們走出大坑》

https://www.cnblogs.com/Gao1234/p/18010763

本文主要分享了作者在Windows上使用.NET部署到Docker遭遇的問題及解決辦法。包括Docker無法安裝、Docker Engine啓動失敗、引用錯誤等問題,並提供詳細的解決步驟。同時,還提供了.NET支持的Docker版本信息及如何獲取官方.NET鏡像的方法。

【譯】.NET 8 網絡改進(二)

https://www.cnblogs.com/MingsonZheng/p/18013332

HttpClientFactory的日誌記錄功能過於詳盡,每個請求會產生8條日誌消息,內容包括請求URI、請求頭、響應頭等信息。爲了優化日誌記錄,新的HttpClientFactory API提供了RemoveAllLoggers()擴展方法,可以一次性刪除所有客戶端的默認日誌。同時,如果需要恢復默認日誌或添加自定義日誌記錄,提供了AddDefaultLogger()方法來實現。

【譯】發佈 .NET Aspire 預覽版 2(二)

https://www.cnblogs.com/MingsonZheng/p/18012526

Aspire組件包現在附有標誌性圖標,更易識別。新增了MySQLConnector組件和託管支持,方便服務程序訪問MySQL數據庫,並支持本地開發與連接現有實例。同時,引入了MongoDB的組件和託管支持。Azure SDK組件默認開啓分佈式追蹤以簡化應用程序監控。部署方面,.NET Aspire推出了部署工具,支持Kubernetes環境,Azure CLI(azd)也實現了對Aspire的改進。這些更新涵蓋了組件識別,數據庫支持和服務部署等多方面功能,體現了開源社區的貢獻和持續的技術迭代。

【.NET】聊聊 IChangeToken 接口

https://www.cnblogs.com/tcjiaan/p/18012397

作者表達了長時間工作後的欣慰,提醒人們關注身心健康,並建議通過多樣化的休閒活動降低生活壓力。接着談及工廠調試經歷,分享了與技術人員的互動和對編程水平排序的看法。文章的主題是IChangeToken,一個提供更改通知功能的接口,作者對其原理和使用進行了介紹,並提供了實現接口的源碼鏈接以及CancellationToken的示例,解釋了通知機制和回調註冊的重要性。

【OpenVINO™】在 MacOS 上使用 OpenVINO™ C# API 部署 Yolov5

https://www.cnblogs.com/guojin-blogs/p/18009621

本項目使用OpenVINO™ C# API在MacOS上部署了YOLOv5對象檢測模型,OpenVINO™ C# API是基於英特爾OpenVINO™工具套件的.Net包裝器,允許開發者在.NET環境中使用C#語言進行深度學習模型推理加速。YOLOv5是一種流行的單階段對象檢測模型,已由Ultralytics開源,支持高速、高精度檢測。本項目詳細介紹了在MacOS系統上通過C#部署YOLOv5模型的過程,包括環境設置、模型下載與轉換、項目配置(支持OpenCvSharp和Emgu.CV兩種版本)以及運行與演示。項目源碼已在GitHub上提供。

藉助 .NET 開源庫 Sdcb.DashScope 調用阿里雲靈積通義千問 API

https://www.cnblogs.com/dudu/p/18013240

博文介紹了通過使用開源.NET SDK Sdcb.DashScope來調用阿里雲AI模型服務'通義千問',避免了高成本自建服務器。通過nuget找到了SDK,並在GitHub上查閱源代碼和單元測試,然後創建API key,並進行了測試。作者還編寫了.NET控制檯程序,測試了千億級別模型'qwen-max'的性能,得到了關於博客園的準確回答。

Asp-Net-Core學習筆記:3.使用SignalR實時通信框架開發聊天室

https://www.cnblogs.com/deali/p/18011837

SignalR是一個用於.NET Core/.NET Framework的實時通訊框架,支持Web Socket, Server Sent Events 和 Long Polling等底層傳輸技術,使開發者能更專注於業務層面。在楊老師博客中提到,SignalR包含客戶端和服務端,服務端運行在AspNetCore上,而客戶端涵蓋前端、桌面端及移動端,且支持包括Flutter在內的多平臺。它提供回落機制,自動選擇最佳傳輸方式,使用RPC進行通信並且通過Hub組件進行消息傳送。SignalR還支持橫向擴展,通過粘性會話確保客戶端請求在同一服務器處理。文章還展示瞭如何使用SignalR創建簡單的聊天服務、消息實體類和Hub,及相關的依賴注入和客戶端配置。

主題

我們對 .NET 9 的願景 - .NET 博客

https://devblogs.microsoft.com/dotnet/our-vision-for-dotnet-9/

Visual Studio 2022 17.9 現已推出 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-9-now-available/

.NET 2024 年 2 月更新 – .NET 8.0.2、7.0.16、.NET 6.0.27 - .NET 博客

https://devblogs.microsoft.com/dotnet/february-2024-updates/

宣佈推出 NuGet 6.9 - NuGet 博客

https://devblogs.microsoft.com/nuget/announcing-nuget-6-9/

公告:BinaryFormatter 在 .NET 9 中被刪除 · 問題 #98245 · dotnet/runtime

https://github.com/dotnet/runtime/issues/98245

版本 8.3.0 · App-vNext/Polly

https://github.com/App-vNext/Polly/releases/tag/8.3.0

發佈 v1.5.0-preview1 · microsoft/WindowsAppSDK

https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.5.0-preview1

發佈 v8.0.2 · npgsql/npgsql

https://github.com/npgsql/npgsql/releases/tag/v8.0.2

版本 11.0.9 · AvaloniaUI/Avalonia

https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.9

AutoMapper 13.0 發佈

https://www.jimmybogard.com/automapper-13-0-released/

歡迎來到 GitHub 上的 .NET 發佈新聞討論! · dotnet/core · 討論#9131

https://github.com/dotnet/core/discussions/9131

Windows 版 Sudo 隆重登場!

https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/

宣佈 Stride 4.2

https://www.stride3d.net/blog/announcing-stride-4-2-in-dotnet-8/

文章、幻燈片等。

.NET 9 中的 LINQ 方法 - Qiita

https://qiita.com/h084/items/57ee888c346479b6802f

爲 ASP.NET Core 應用程序設置 URL 的 8 種方法

https://andrewlock.net/8-ways-to-set-the-urls-for-an-aspnetcore-app/

C# DateTime AddYears() 的奇特邊緣案例

https://medium.com/@criticalsession/the-odd-edge-case-of-c-datetime-addyears-65a8ac0cc105

在 Avalonia 中通過拖放接收文件 [Drag and Drop] - Qiita

https://qiita.com/SousiOmine/items/7b5cfbf1505176b19fd0

Blazor服務器中.NET 8或更高版本(App.razor)的相對目錄規範 - Qiita

https://qiita.com/yaju/items/28c020070111b4d0ed40

在 Avalonia 的 ListBox 中獲取多個選擇 [SelectedItems] - Qiita

https://qiita.com/SousiOmine/items/a151485bf609b23d6539

Rider 2024.1 EAP 4:運行中應用程序的新監控工具窗口和Blazor WASM熱重載 | .NET Tools Blog

https://blog.jetbrains.com/dotnet/2024/02/09/rider-2024-1-eap-4/

使用 Oracle JDBC 和 ODP.NET 的 OpenTelemetry

https://blogs.oracle.com/developers/post/opentelemetry-with-oracle-jdbc-and-odpnet

使用C#和.NET 8在控制檯應用程序中實現依賴注入 - Qiita

https://qiita.com/te-k/items/4ce2a8a9557139e0c418

2023 年 Visual Studio 中 .NET 的 10 大新功能 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/2023s-top-10-new-features-for-net-in-visual-studio/

在 Microsoft 進行開發時考慮到可訪問性 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/developing-with-accessibility-in-mind-at-microsoft/

具有 Java 經驗的人在 Microsoft Store 上發佈使用 Windows App SDK (C#) 實現的應用程序之前學到了什麼 - Qiita

https://qiita.com/dAii_7tHw_eL8R/items/42d7d4949ea851726d86

dotInsights | 2024 年 2 月 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/02/07/dotinsights-february-2024/

下一代 Rx“R3”解釋 - Qiita

https://qiita.com/toRisouP/items/e7be5a5a43058556db8f

實體框架中的緩存行爲以及如何使用 AsNoTracking - Qiita

https://qiita.com/te-k/items/e10b44f89477d8a1678b

在 IHeaderDictionary 中使用默認接口方法來提高性能

https://andrewlock.net/using-default-interface-methods-for-performance-gains-in-iheaderdictionary/

一流的 Span 類型

https://ufcpp.net/blog/2024/2/first-class-span/

[Blazor] 使用插件動態切換表 - Qiita

https://qiita.com/onsen_koichi/items/61fd3534789fc6399654

Dev Tunnels:移動開發者的遊戲規則改變者 - .NET 博客

https://devblogs.microsoft.com/dotnet/dev-tunnels-a-game-changer-for-mobile-developers/

.NET 9 中的三個新 LINQ 方法

https://steven-giesel.com/blogPost/0594ba85-356b-47f1-89a9-70e9761c582e

.NET 應用程序的跨平臺診斷工具

https://dev.to/mohammadkarimi/cross-platform-diagnostic-tools-for-net-applications-2366

使用 Sci-kit 學習分類 ML 模型預測幸福並導入到 .net

https://medium.com/codenx/predict-happiness-using-sci-kit-learn-classification-ml-model-and-import-in-to-net-58b1d28e8dbf

NET8 Web Api 通過跟蹤、日誌和指標快速輕鬆地進行監控。

https://dev.to/leandronoijo/net8-web-api-monitoring-fast-and-easy-with-traces-logs-and-metrics-2o9n

回顧:2023 年 Visual Studio 分析工具的進步 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/a-look-back-visual-studios-profiling-tool-advancements-in-2023/

Rider 2024.1 EAP 4 中的監控工具 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/02/12/monitoring-tool-in-rider-2024-1-eap-4/

[C#] 開放/封閉類型和綁定/非綁定類型的定義。 - 尼諾的花園。

https://blog.neno.dev/entry/2024/02/12/190723

C# 中重大變更的未來處理(後續)

https://ufcpp.net/blog/2024/2/writing-changes/

使用 ReSharper 創建自定義 AI 提示 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/02/05/creating-custom-ai-prompts-with-resharper/

[C#] 使用 BigQuery 更輕鬆地提取 Microsoft.Extensions.Logging 日誌。 - 尼諾的花園。

https://blog.neno.dev/entry/2024/02/03/180352

Rider 2024.1 EAP 3:步進時間可視化、內聯斷點和 UX/UI 改進。| .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/02/02/rider-2024-1-eap-3/

🚀 使用容器的 OpenAI 端點的智能負載平衡

https://techcommunity.microsoft.com/t5/fasttrack-for-azure/smart-load-balancing-for-openai-endpoints-using-containers/ba-p/4017550##

網站、文檔等

推文

https://twitter.com/Dave_DotNet/status/1754916594852024593

image-20240218220722252


https://x.com/dave_dotnet/status/1756279039587684398?s=12

image-20240218220808751


https://x.com/nenomake/status/1755662602204836282?s=12

image-20240218220833625

版權聲明

由於筆者沒有那麼多時間對國內的一些文章進行整理,歡迎大家爲《.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,歡迎大家加入。

image-20230703203249615

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章