.NET週刊【4月第2期 2024-04-21】

國內文章

他來了他來了,.net開源智能家居之蘋果HomeKit的c#原生sdk【Homekit.Net】1.0.0發佈,快來打造你的私人智能家居吧

https://www.cnblogs.com/hezp/p/18142099

三合是一位不喜歡動態編程語言的開發者,對集成米家智能家居到蘋果HomeKit的現有開源解決方案不滿意。因爲遇到了穩定性問題以及個人編程偏好的問題,他決定使用C#創建自己的智能家居解決方案。在一番研究後,三合開發了兩個SDK【MiHome.Net】和【Homekit.Net】,後者已在GitHub上發佈。文中介紹瞭如何用Homekit.Net模擬智能設備,如開關和溫度傳感器,並將其添加到蘋果的家庭App中,讓用戶通過代碼控制其狀態。

.NET開源強大、易於使用的緩存框架 - FusionCache

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

大姚介紹了一個基於.NET的開源緩存框架FusionCache,該框架支持多種緩存策略,如內存、分佈式、HTTP、CDN、瀏覽器和離線緩存,擁有緩存防崩潰、超時處理、安全故障轉移等特性,並支持同步/異步操作、事件通知等功能。文章還演示了創建控制檯應用來使用FusionCache,並提供了框架的GitHub鏈接供讀者學習交流。此外,項目還被收錄在C#/.NET/.NET Core優秀項目和框架精選中,作者鼓勵開發者提交推薦項目。

WPF/C#實現圖像濾鏡優化方案:打造炫目視覺體驗!

https://www.cnblogs.com/qingxi11/p/18138196

該項目通過GPU渲染實現了C#/WPF中的圖像濾鏡效果,克服了傳統CPU渲染在批量圖像處理時的性能瓶頸。作者參照Shazzam Shader Editor編寫HLSL像素着色器,生成所需的文件,並添加到類庫以便在WPF項目中使用。項目用到了CommunityToolkit.Mvvm庫、AduSkin樣式庫,並且構建了一個模塊化的項目結構,支持操作區的定製化和特效的動態調整。文章提供了詳細的項目實現細節和前臺代碼示例。

.NET8中的Microsoft.Extensions.Http.Resilience庫

https://www.cnblogs.com/vipwan/p/18138649

該文章繼續討論.NET中如何實現服務發現及彈性機制。介紹了從.NET Core 2.1開始引入的Microsoft.Extensions.Http.Polly庫,並對比了該庫與.NET 8及之後版本中新引入的Microsoft.Extensions.Http.Resilience庫的性能差異。文章詳細展示瞭如何使用兩個庫實現重試和熔斷策略,並且強調了Microsoft.Extensions.Http.Resilience在性能和內存使用上的優勢以及如何通過配置文件靈活配置策略。

WPF隨筆收錄-實時繪製心率曲線

https://www.cnblogs.com/liulangg/p/18139940

該項目中介紹瞭如何在客戶端實時顯示心率曲線圖,具體通過模擬心率監測設備數據,使用定時器推送模擬數據和自定義控件繪製心率曲線,實現了曲線的實時更新和移動。文中簡要說明了繪製過程,並提供了代碼鏈接供進一步學習。

CAP 8.1 版本發佈通告

https://www.cnblogs.com/savorboard/p/18139824/cap-8-1

CAP 8.1版本發佈,增添新的配置項支持並調整了功能,包括重新默認爲串行發送消息,支持MongoDB事務的Session Handle指定,添加異步事務API,AzureServiceBus配置Correlation header等。破壞性改變包括移除NATS DeliverPolicy配置項和默認改爲串行發佈消息。CAP是一個開源的分佈式事務和EventBus項目,有廣泛的社區支持和應用。

記一次 .NET某爐膛鍋爐檢測系統 崩潰分析

https://www.cnblogs.com/huangxincheng/p/18140261

一位朋友的工控軟件頻繁崩潰,作者通過WinDbg分析了崩潰的dump文件,發現崩潰發生在後臺對象標記的bgc線程。通過執行!verifyheap命令,確認了託管堆損壞。進一步分析發現24號線程觸發了一個前臺GC,導致38號bgc線程拋出執行引擎異常,最終導致程序崩潰。

一個.NET開源的功能豐富、靈活易用的 Windows 窗口增強神器

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

SmartSystemMenu是一款開源的.NET Windows窗口增強工具,可提供窗口和進程信息展示、窗口操作、截圖和文件管理、窗口管理等多種功能,適用於Windows XP SP3及更高版本,支持x86和x64系統,需要.NET Framework 4.0環境。它的源代碼和安裝包可在GitHub上獲取,同時該項目被收錄於C#/.NET/.NET Core優秀項目和框架精選清單中。此外,文章還推薦了DotNetGuide技術社區,這是一個.NET開發者技術交流平臺。

.NET開源免費的跨平臺框架 - MAUI(附學習資料)

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

.NET MAUI是一款基於MIT許可的免費和開源的跨平臺框架,支持C#和XAML語言開發Android、iOS、macOS和Windows系統的本地應用。它是Xamarin.Forms的更新和擴展,提供改進的性能和可擴展性,可以共享代碼和UI佈局,支持特定平臺的定製。典型用戶包括使用Visual Studio和C#有跨平臺開發需求的開發者。開發.NET MAUI應用需要Visual Studio 2022的指定版本。其優點在於跨平臺性、本地用戶體驗、項目管理便捷和現有技術棧的利用;缺點包括性能可能有損失、平臺特定功能的限制、學習成本和社區支持相對較少。

【Nano Framework ESP32篇】WS2812 彩色燈帶實驗

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

這篇文章介紹瞭如何在物聯網項目中使用 LED 燈帶,特別是藉助 ESP32 模塊和 WS2812 驅動 IC 來控制燈帶的每個燈珠。作者也解釋了可以通過 SPI 方式和 RMT 方式來驅動 WS2812,提到了使用 Nano Framework 使得編程變得簡潔。文章還包括了一段示例代碼,展示如何用 RMT 方式驅動 WS2812,並分享了硬件組裝部分的一些建議。

一個.NET內置依賴注入的小型強化版

https://www.cnblogs.com/coredx/p/18138360

.NET生態中內置依賴注入容器雖然好用,但不支持開放泛型服務的服務工廠類型轉發,作者通過研究決定繼承ServiceDescriptor並擴展功能來解決這個問題。文章中還宣傳了作者的新書《C#與.NET6 開發從入門到實踐》。文章詳細介紹了TypedImplementationFactoryServiceDescriptor類來支持從自定義工廠獲取服務類型,且自定義工廠新增了Type參數傳遞類型信息功能。

WPF隨筆收錄-DataGrid固定右側列

https://www.cnblogs.com/liulangg/p/18140748

本文解釋了在WPF項目開發中,如何自定義DataGrid控件以固定表格的右側列。作者首先提到默認的DataGrid不支持固定右側列,然後介紹了一個基於第三方庫HandyControl及微軟MVVM庫的自定義控件MyDataGrid,展示了通過RightFrozenCount依賴屬性和滾動同步代碼使右側列固定的方法。

物聯網瀏覽器(IoTBrowser)-整合機器學習yolo框架實現車牌識別

https://www.cnblogs.com/yizhuqing/p/18140050

該文章探討了AI技術在.Net平臺的應用,作者通過研究ML.NET這一開源的機器學習框架來實現圖像的分類和目標檢測。初始嘗試使用Visual Studio插件和Vott進行圖片標註和訓練,但效率低下並伴隨問題。最終採用了使用Python訓練yolo模型,並將其導出爲onnx格式在.Net環境下調用的方法。文章詳細介紹了車牌識別的步驟,並集成到IoTBrowser中,同時提供了C#和JavaScript的調用代碼示例,並介紹了支持的文件格式和協議。

.NET Emit 入門教程:第六部分:IL 指令:9:詳解 ILGenerator 指令方法:運算操作指令(指令篇結束)

https://www.cnblogs.com/cyq1162/p/18133417

本文介紹了.NET中的運算操作指令和其他IL指令,例如參數加載與存儲、類型轉換、方法調用等,運算操作指令包括算術、邏輯、位操作和比較,用於動態代碼生成中的數學運算、比較和位操作。文中列舉了指令如Add、Sub、And、Or、Shl等,並通過示例代碼展示了其在ILGenerator中的使用方法。

如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目

https://www.cnblogs.com/kklldog/p/18147090/split-mvc-view-to-another-project

本文介紹瞭如何在ASP.NET Core MVC項目中,將視圖分離到另一個Razor類庫項目以提高模塊化程度。分離步驟包括:創建Razor類庫項目並配置項目文件、將視圖文件複製到新項目、在主項目中添加對新項目的引用、配置Razor視圖引擎查找新項目視圖的路徑、調整靜態資源的引用路徑。文章旨在爲需要在SSR場景中提升首屏加載速度的開發者提供指導。

使用純c#在本地部署多模態模型,讓本地模型也可以理解圖像

https://www.cnblogs.com/gmmy/p/18146496

文章介紹了作者使用更新版本的llamasharp(0.11.1)實現了對llava-v1.6多模態大模型的本地部署和圖像理解的過程。文章中作者分享了模型理解圖像的結果,指出了其智能和速度上的侷限性,並提供了改用CUDA版本以加快推理速度的方法。文章還詳細展示瞭如何加載和部署多模態模型的源代碼,以及執行推理的核心代碼,並分享了一些遇到的問題,最後將更新的項目代碼放在GitHub供興趣者下載。

Asp-Net-Core開發筆記:使用alpine鏡像並加入健康檢查

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

本文介紹瞭如何使用docker優化部署AspNetCore應用,首先通過添加健康檢查和修改docker-compose文件來實現服務的健康監測。其次,作者建議使用基於alpine的鏡像來減少鏡像大小。需要注意的是,在alpine環境下發布應用時,應選擇linux-musl-x64運行時,以兼容alpine內置的musl libc。本文還計劃介紹一個名爲「IdentityServerLite」的項目。

C#開發的PhotoNet看圖軟件 - 開源研究系列文章 - 個人小作品

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

作者近日忙於編程,並分享了自己使用C#開發的圖片瀏覽管理器應用。文章中介紹了軟件的使用方法,包括如何使用圖片管理器瀏覽和設置壁紙,以及如何註冊軟件爲默認的圖片類型打開工具。此外,博文提供了項目的目錄結構、詳細的源碼介紹、運行界面展示和源碼下載鏈接。作者指出,該應用還可以進一步增加管理功能和窗體大小調整等特性。

async/await 貼臉輸出,這次你總該明白了

https://www.cnblogs.com/JulianHuang/p/18137189

這篇技術文章探討了.NET中async/await的實現,及其背後的狀態機概念。作者提到從初學者到高階的難度梯度,引入瞭如何在Go語言中實現狀態機,並將其概念運用到.NET中,即展現了狀態機如異步操作的核心。文章最後以.NET編程語言中的async和await爲例,詳細闡述了狀態機的運行過程。

.NET Emit 入門教程:第六部分:IL 指令:8:詳解 ILGenerator 指令方法:類型轉換指令

https://www.cnblogs.com/cyq1162/p/18133303

本文主要介紹了.NET中的類型轉換指令,包括強制類型轉換、隱式類型轉換和數值類型轉換三個類別。文中通過示例代碼展示瞭如何在IL代碼級別使用castclass、isinst、box、unbox、unbox_any及conv系列指令進行類型轉換。這些指令爲.NET運行時提供了靈活性,使代碼能夠在不同數據類型間轉換。

實戰指南:使用 xUnit 和 ASP.NET Core 進行集成測試【完整教程】

https://www.cnblogs.com/ruipeng/p/18141877

ASP.NET Core支持集成測試,與單元測試不同,集成測試可以同時評估多個應用組件及其交互,確保數據庫、文件系統和網絡等組件功能正常。集成測試推薦用於重要基礎結構,其他場景優先考慮單元測試。通過使用內置的內存中測試服務器TestServer,集成測試可以模仿應用在生產環境的行爲。集成測試的建立需要創建測試項目、配置測試服務器客戶端、執行排列-操作-斷言流程及報告結果。文中還介紹了利用Microsoft.AspNetCore.Mvc.Testing包和WebApplicationFactory類簡化集成測試的設置,以及測試環境的配置方法。

Bogus 實戰:使用 Bogus 和 EFCore 生成模擬數據和種子數據【完整教程】

https://www.cnblogs.com/ruipeng/p/18138134

本文介紹了在xUnit單元測試中結合xUnit.DependencyInject使用依賴注入的方法,並展示瞭如何使用Bogus庫創建模擬數據以及EFCore生成種子數據。Bogus是一個.NET下的假數據生成器,具有豐富的數據類型支持、可重複性、易用性、內置規則、靈活性和社區支持。文章通過示例展示了Bogus生成測試數據的過程,並提供了單元測試成功的證明。還介紹了Bogus的國際化特性,包括各種地區設置和語言的支持。

簡單寫一個eventbus

https://www.cnblogs.com/aoximin/p/18068563

本文介紹了eventbus,一個基於發佈訂閱模式的開源框架,用於簡化不同程序組件間的通信,實現松耦合連接。作者先定義了IEventBus接口及其發佈、訂閱、啓動消費消息的方法,然後展示了IntegrationEvent類包含的基本信息,如唯一id和發生時間。後面作者解釋了泛型接口和非泛型接口的設計目的,並演示了一個基於內存的eventbus實現——InMemoryEventBus,最後提到了InMemoryEventBusClient作爲與外部連接的組件。

WPF/C#:讓繪製的圖形可以被選中並將信息顯示在ListBox中

https://www.cnblogs.com/mingupupu/p/18145295

本文介紹瞭如何在WPF應用程序中繪製矩形形成表格,併爲表格中的單元格添加行列信息。文中詳述了創建矩形、爲單元格添加文本信息,以及實現單元格選中與取消選中的具體編碼過程。同時,文章還使用了字典來關聯每個矩形單元格與其信息,並介紹瞭如何使用ListBox類及其ObservableCollection的繼承類SelectedRects來處理選中單元格的信息。

基於Material Design風格開源、易用、強大的WPF UI控件庫

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

大姚分享了一款基於Material Design風格的WPF UI控件庫MaterialDesignInXamlToolkit,這是一個開源、免費、易用且功能強大的庫,可幫助開發者在C#和VB.Net中創建Material Design風格的UI。WPF框架專爲Windows桌面應用開發,支持豐富的UI功能。項目的運行和查看方式被說明,並附上了項目源碼地址。此外,這個控件庫已被收錄到C#/.NET/.NET Core的優秀項目和框架精選中。最後,文章提到DotNetGuide技術社區,它是.NET開發者的技術交流平臺。

使用WebApi+Vue3從0到1搭建《權限管理系統》:二、搭建JWT系統鑑權

https://www.cnblogs.com/cyzf/p/18143537

該視頻爲《WebApi+Vue3搭建權限管理系統》系列之搭建JWT系統鑑權,講解了如何在appsettings.json中配置JWT鑑權屬性,創建JwtSettingModel模型與配置文件解析幫助類ConfigurationHelper,並在Startup.cs中編寫鑑權代碼。配置包括髮行人、訂閱人、過期時間、祕鑰算法等。鑑權代碼設置了TokenValidationParameters參數,保證了令牌的安全性。

記一次棧溢出異常問題的排查

https://www.cnblogs.com/anxin1225/p/18138704

開發環境下的服務程序不斷崩潰,作者開啓崩潰自動dump並分析,發現是棧溢出異常。通過打印堆棧,定位到問題代碼,發現錯誤在一個對象的隱式轉換操作中,由於返回了錯誤的類型,觸發了無限遞歸。作者建議檢查所有相關代碼,表明僅憑常規方法難以找到問題,而windbg爲問題排查提供了關鍵幫助。

實戰指南:使用 xUnit.DependencyInjection 在單元測試中實現依賴注入【完整教程】

https://www.cnblogs.com/ruipeng/p/18134907

本文介紹瞭如何在xUnit項目中使用Xunit.DependencyInjection進行依賴注入的實戰操作,包括安裝NuGet包、創建測試類、配置依賴注入容器,並對Sample.Repository進行單元測試。文章還講述瞭如何通過Startup.cs配置測試依賴和服務,以及CreateHostBuilder、ConfigureHost、ConfigureServices和Configure幾個關鍵方法的使用。最後,演示了在StaffRepositoryTest單元測試類中如何通過構造函數獲取依賴項。

如何實現數據庫數據到Abp vnext實體對象的同步?以及代碼生成工具

https://www.cnblogs.com/DinAction/p/18144756

在EF Core的Code First方式中,數據庫直接操作的變更需同步到項目代碼。首先可用Scaffold-DbContext命令從數據庫生成實體模型和DBContext。其次,手動編寫代碼實現存儲過程映射。應儘量通過遷移保持結構一致性。ABP vNext框架社區開發了代碼生成工具,如NameIsBad/abp-vue、WuLex/AbpVnextGenerator和neozhu/abpvnextsmartcodegenerator,用於從數據庫生成領域模型代碼,可加快在ABP項目中的集成。選用這些工具前,需檢查其更新情況和社區反饋。

【Azure Developer】.Net 簡單示例 "文字動圖顯示" Typing to SVG

https://www.cnblogs.com/lulight/p/18139143

本文介紹瞭如何通過.NET Core WEBAPI項目生成SVG動圖。文章首先解釋了SVG圖片和動畫的基本概念,然後提供了一步步創建API的教程。通過設置Content-Type爲image/svg+xml並輸出定製的SVG代碼,可以實現將文字轉換爲動畫效果的SVG圖片。實驗部分展示了通過傳遞參數來動態生成內容的完整代碼示例。

.Net與AI的強強聯合:AntSK知識庫項目中Rerank模型的技術突破與實戰應用

https://www.cnblogs.com/xuzeyu/p/18148685

AntSK是一個結合了.NET和AI技術的開源離線AI知識庫項目,最近加入了Rerank模型來提高查詢能力。它採用向量匹配技術,並針對傳統方法中的侷限性引入重排技術以優化搜索結果。AntSK支持Python混合編程,增強了.NET開發者的AI開發能力。新模型可通過pythonnet實現.NET與Python的集成,並優化了下載模型的流程以方便國內用戶。

【Azure APIM】列舉幾種在APIM 策略中的主動生產的錯誤語句

https://www.cnblogs.com/lulight/p/18141734

本文介紹了在Azure API管理服務(APIM)配置診斷日誌並製造錯誤的三種方法。首先是通過return-response策略返回指定錯誤碼,但錯誤信息沒有被記錄。第二種方法是定義變量並直接拋出異常,還結合重試策略使錯誤多次出現,有助於調試。第三種是設置錯誤域名造成DNS解析錯誤,錯誤信息被詳細記錄。最後,在Log A Workspace中驗證這些錯誤,確保第二種和第三種方法能夠有效記錄錯誤日誌。

【ESP32 IDF】用RMT控制 WS2812 彩色燈帶

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

老周在.NET Nano Framework中展示瞭如何控制WS2812燈帶,並批評了目前很多物聯網和AI教程僅僅提供代碼,而不講解背後的原理,缺乏實際編程學習,特別是對於C語言的深入理解。接着,老周詳細解釋了ESP32的RMT功能,如何用32位數據來描述一次脈衝週期,每個週期分爲兩個16位的部分,對應高電平和低電平的持續時間。他強調了.Net Nano Framework使用的IDF版本與新版存在差異,但原理相似,且表示將適配新版的IDF,並簡化了分頻的概念,更易於新手理解。

aop 階段性概況

https://www.cnblogs.com/aoximin/p/18134418

文章首先解釋了面向切面編程(AOP)的概念及其解決的問題,例如在多個方法中執行相同的後續操作時,如何通過AOP減少重複工作、降低出錯率並增加代碼優雅性。然後聚焦於AOP的濫用情況,並解釋了日誌和驗證爲何被接納,而其他操作可能導致代碼邏輯偏離本意。接着,文章討論了實現AOP的兩種技術:字節碼操作和代理技術,分別列出了各自的優缺點。通過UserService的代碼示例,展示瞭如何使用代理技術實現AOP功能。

使用歸一化盒過濾器對圖像進行平滑處理

https://www.cnblogs.com/mingupupu/p/18147819

本文介紹了歸一化盒過濾器在OpenCV中用於圖像平滑處理的原理與應用。歸一化盒過濾器通過計算像素鄰域的平均值來實現平滑效果,雖然可以去噪,但會導致圖像模糊。文章通過3*3核的示例代碼展示瞭如何自行實現這一過程,並與OpenCV自帶函數的效果做了對比。最後提到自己實現的方法可以擴展適用於其他大小的核。

C#判斷窗體是否被遮擋 - 開源研究系列文章

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

作者之前發佈了關於托盤窗體顯示與隱藏的文章,但發現最大化時隱藏功能異常,於是研究並修正了窗體遮擋判斷的代碼。此次更新幹淨簡潔,在博客園園友的協助下,添加了特殊窗體處理功能,使得操作類得到完善。文章描述了項目目錄、源碼介紹、操作類與主窗體的使用,且提供了源碼下載鏈接。建議那些需要最大化窗體操作的用戶,通過實際調試找出被遮擋座標,並修改操作類中的特殊窗體座標。

Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET 版本

https://www.cnblogs.com/cyq1162/p/18135830

本文介紹了在相同電腦環境下對Taurus.MVC框架進行的.NET版本與.NET Core版本性能的對比壓測。測試項目在Windows 11和IIS環境下進行。文章記錄了不同併發級別下的請求每秒(qps)結果,在單線程和8線程下進行了簡單接口返回的測試,並在8線程下測試了含數據庫讀取操作的接口。測試顯示,.NET版本在8線程簡單接口測試時qps爲6277,高於.NET Core 8線程時的5765;同樣的併發下,讀數據庫接口的qps爲6031,也高於.NET Core 8的5470。

winform之在主窗體中不顯示子窗體的菜單欄

https://www.cnblogs.com/wuchen9527/p/18147718

本技術文章介紹了在MDi窗體中嵌入子窗體後不顯示菜單欄的問題及其解決方案。在遇到主界面的子界面過多而影響程序運行效率後,決定採取MDi窗體,並發現子窗體顯示時會出現菜單欄問題。通過重寫WndProc方法,並處理WM_NCCALCSIZE消息,達到只計算工作區域大小,解決了問題,移除了菜單欄。作者提出了改進後的代碼,並展示了實現效果。

【譯】宣佈在 Visual Studio 17.10 預覽2中爲 ARM64 架構提供 SSDT

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

Visual Studio 17.10預覽版2爲ARM64架構推出SQL Server Data Tools (SSDT),提供SQL項目管理、模式比對、數據對比、查詢編輯、表設計、數據庫屬性編輯和對象重構等功能。安裝步驟涉及下載安裝器,在可用選項中選擇預覽版本安裝SSDT和其他組件,然後在Visual Studio創建數據庫項目。Microsoft 提供反饋鏈接以優化Visual Studio並邀請開發者參與改進。

WPF基礎:在Canvas上繪製圖形

https://www.cnblogs.com/mingupupu/p/18137691

Canvas是WPF中用於佈局子元素的面板控件,它能夠通過指定屬性在二維空間中絕對定位元素,非常適合於繪圖應用或精準UI佈局。本文提供了在Canvas中繪製矩形、圓和多邊形的示例代碼,既包括XAML的定義方式,也涉及了C#代碼的實現。這些示例展示瞭如何使用Canvas及其子元素的屬性,如Width、Height和Fill等,以及如何通過Canvas.SetLeft和Canvas.SetTop方法來定位這些圖形。

c#採用toml做配置文件的坑過

https://www.cnblogs.com/liqi/p/18148138

這篇文章討論了C#中使用TOML文件的經驗,提到了通過Nett庫讀取和更新TOML文件中的數據,例如布爾、字符串、整型、雙精度浮點數、時間偏移和時間跨度值。作者在嘗試用Update函數修改float類型時遇到精度問題,發現Nett庫中沒有float類型的更新方法,導致數據精度丟失。因此作者建議在讀取非整數類型時使用double類型,避免使用float,以免遇到類似問題。

C#的窗體假關閉操作例子 - 開源研究系列文章

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

文章介紹瞭如何在C#程序中實現窗體的假關閉效果,即用戶點擊關閉按鈕時,窗體不是真正的關閉,而是隱藏。文中提供了源代碼和項目結構的簡要說明,並附有源碼下載鏈接。建議讀者根據自己的需求,適當擴展該示例應用。

C#使用PaddleOCR進行圖片文字識別✨

https://www.cnblogs.com/mingupupu/p/18124485

PaddlePaddle是百度開發的深度學習平臺,其開源光學字符識別工具PaddleOCR支持多語言文本檢測和識別。PaddleSharp是飛槳針對C#開發者的深度學習庫,使其能在C#環境中應用深度學習功能。同時提供的Winform界面設計可通過簡單代碼實現圖片文字識別,示例演示瞭如何利用PaddleOCR和OpenCV進行中文文本識別,並將結果展示在界面上。

.NET MAUI開源免費的UI工具包 - Uranium

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

《Uranium: .NET MAUI的免費UI工具包》一文介紹了UraniumUI, 一種基於.NET MAUI的開源免費UI框架,用於構建跨平臺的現代應用程序界面。文章提供了安裝指導、項目源碼地址,解決了安裝中可能遇到的問題,並分享了運行效果截圖。同時,文章鼓勵讀者參與到DotNetGuide技術社區,以及向優秀項目和框架精選提交PR。

一個庫幫你快速實現EF Core數據倉儲模式

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

大姚分享了EF Core Generic Repository通用倉儲庫的使用方法,以便於.NET開發者簡化數據倉儲模式的實現工作。該庫提供了.NET Core和.NET項目的支持,並集成了數據庫事務、多種查詢模式及單元測試等特點。示例代碼展示瞭如何新建項目、安裝庫、創建類和上下文,以及如何進行CRUD操作。

Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本

https://www.cnblogs.com/cyq1162/p/18124330

最近Taurus.MVC更新優化後進行了性能壓測。在.NET Core版本中,使用舊電腦(i5-9400 CPU、6核邏輯處理器、16G內存)運行基於.NET8的程序,通過ab工具在Windows 11環境下進行了不同參數的單接口壓測。單線程測試時關掉日誌後QPS可達3595,雙線程達到5765。儘管CPU負載達到極限,測試顯示關閉控制檯日誌的確可以提升性能。未來測試將繼續關閉控制檯日誌,而接口也會調整爲更常規的輸出,以便更深入分析框架的性能。

consul:啥?我被優化沒了?AgileConfig+Yarp替代Ocelot+Consul實現服務發現和自動網關配置

https://www.cnblogs.com/xdq-zh/p/18122481

一位開發者爲了優化微服務應用,準備棄用現有的ocelot+consul網關組合,改用agileConfig+yarp方案。他想通過agileConfig自動註冊服務,並動態配置yarp代理來簡化部署流程。通過查閱博客園文章,他成功實現了用代碼動態配置yarp代理的方法,並給出了相關代碼實現。

C#的AOP(最經典實現)

https://www.cnblogs.com/dotnet-college/p/18128903

本文介紹了.NET領域面向橫切面編程(AOP)的概念和實現方法。文章首先以一個GetInfo函數的示例說明了常規編程的限制,隨後闡述AOP技術如何通過攔截方法,修改參數和返回值來實現程序解耦。文中通過橫切面攔截主程序的方式,步驟性介紹瞭如何在Visual Studio中利用DeveloperSharp平臺創建AOP程序,包括主程序、橫切面程序的製作和配置文件的設置。着重說明了橫切面程序可以在主程序執行前後進行自定義處理,以及配置文件可以簡化程序變動時的處理流程。

.NET服務發現(Microsoft.Extensions.ServiceDiscovery)集成Consul

https://www.cnblogs.com/vipwan/p/18129361

Microsoft.Extensions.ServiceDiscovery的preview5更新提供了服務註冊和發現功能,並且可以簡單地通過配置文件和代碼集成,其中包括Config、DNS和YARP三種默認Provider。示例代碼展示瞭如何配置appsettings.json支持服務發現,以及如何在ASP.NET Core應用中使用服務發現去模擬服務端接口和測試。此外,文章還介紹瞭如何擴展一個Consul服務發現Provider,包括實現IServiceEndPointProvider接口和HostNameFeature。

[MAUI]集成富文本編輯器Editor.js至.NET MAUI Blazor項目

https://www.cnblogs.com/jevonsflash/p/18133608

本文介紹瞭如何將基於Web的所見即所得富文本編輯器Editor.js集成到.NET MAUI應用中。Editor.js由CodeX團隊開發,可實現只讀切換以及明/暗主題切換等功能。文中詳細說明了獲取Editor.js資源文件的方法,包括從源碼構建和從CDN獲取兩種方式。此外,介紹瞭如何創建.NET MAUI Blazor項目,並將所需JavaScript和CSS文件拷貝到項目中以實現跨平臺功能,最後說明了如何創建視圖控件。

.NET Emit 入門教程:第六部分:IL 指令:7:詳解 ILGenerator 指令方法:分支條件指令

https://www.cnblogs.com/cyq1162/p/18130979

本文介紹了.NET Emitted編程中的分支條件指令,包括條件跳轉指令、無條件跳轉指令和Switch分支等。分支條件指令幫助實現了程序中的條件判斷和控制轉移,如beq、bgt、brtrue等,功能與高級語言中的控制結構類似,對理解和提升.NET Emit編程非常有幫助。

學習Source Generators之打包成Nuget使用

https://www.cnblogs.com/fanshaoO/p/18128770

本文介紹瞭如何將從Swagger生成實體類的Generator打包成Nuget包以便使用。首先要修改項目文件以生成Nuget包並避免作爲庫依賴項,還需要設置對第三方組件的依賴(例如Newtonsoft.Json)。然後編譯項目生成nupkg文件,並將其上傳到nuget.org。用戶可以通過Nuget包管理器安裝。安裝後,用戶需要將swagger.json文件複製過來並設置爲AdditionalFiles,並修改包屬性,以便在項目中使用。

Asp .Net Core 系列:集成 Refit 和 RestEase 聲明式 HTTP 客戶端庫

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

.NET平臺沒有Feign的直接端口,但有Refit、RestEase和feign.net等類似框架。Refit和RestEase通過定義接口描述HTTP API,並支持各種HTTP方法和異步操作。Feign.net基於.NET Standard 2.0實現類似Feign的接口。文章還展示瞭如何在ASP.NET Core中集成和使用Refit,包括通過NuGet安裝包,創建接口定義遠程API調用,以及在Startup.cs中將其注入服務。

.NET Aspire預覽5版本 發佈

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

2024年4月11日發佈的.NET Aspire預覽5版本,增加了對AWS的支持並優化了Azure服務,引入多項新功能如拆分Aspire.Hosting包、應用模型優化、狀態更新、Visual Studio集成增強和安全性提升。新增功能包括重命名擴展方法以適配更多雲服務、支持非安全傳輸、儀表板自定義資源狀態更新、提高容器資源配置持久性、自動生成密碼、Docker構建參數傳遞等。還改進了Azure資源和數據庫管理工具,如添加Azure事件中心、NATS、Seq、SignalR、AI Search以及集成多種數據庫管理系統。

一步一步實現 .NET 8 部署到 Docker

https://www.cnblogs.com/Earen/p/18132270

本文主要介紹了在操作系統CentOS 8下通過Docker部署應用的具體步驟。其中涵蓋安裝Docker、準備Dockerfile和launchSettings.json配置文件、上傳源碼到服務器、構建Docker鏡像以及創建和運行Docker容器的詳細操作。最後還提及瞭如何查看容器信息和檢查接口是否可以正常訪問。

C#開發的綁定類型默認應用例子 - 開源研究系列文章

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

文章介紹瞭如何使用C#開發一個圖片瀏覽工具,並解決了將該工具設置爲圖片擴展名默認應用以及解除綁定默認應用的問題。作者通過研究註冊表操作並參考CSDN帖子中的函數實現了該功能,並提供了詳細的項目目錄、源碼介紹、運行界面展示、使用介紹和源碼下載鏈接。作者還建議讀者根據實際需要對代碼進行擴展應用,以適用於Windows 11系統。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關問題

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

老周分享了他在智能插座和遠程控制項目中使用Nano Framework的經驗。他認爲Nano Framework比MicroPython更好用,並推薦官方的idf作爲ESP32開發的框架。他還介紹了怎樣正確安裝idf,並批評了國產芯片的SDK問題,指出樂鑫做得不錯。此外,他提到了.NET的nanoff工具用來刷固件的方便性,並詳述瞭如何使用樂鑫官方工具和固件進行ESP32_S3的刷寫過程。

Blazor OIDC 單點登錄授權實例7 - Blazor hybird app 端授權

https://www.cnblogs.com/densen2014/p/18014332

本文介紹了在Blazor應用中實現基於OpenID和OAuth2標準的單點登錄功能,重點放在了Blazor WebAssembly(WASM)和不同平臺的整合。內容包含了用於Google和碼雲Gitee登錄的Blazor WASM示例,以及多個Blazor OIDC單點登錄實例,如配置身份驗證服務、登錄信息組件、服務端管理組件、部署授權以及在不同客戶端如Winform和Blazor hybird app的授權實現。文章提到了源碼以及如何建立Blazor WinForms項目,並詳細闡述了相關的庫引用、引入授權的主要代碼和配置OidcClient的關鍵步驟。

Avalonia中的自繪控件

https://www.cnblogs.com/chenyishi/p/18123765

Avalonia UI框架中的自繪控件允許開發者完全控制渲染邏輯,實現高度自定義的UI元素。自繪控件具有高度自定義性、性能優化、跨平臺一致性和可集成第三方圖形庫的優勢。它們適用於自定義圖表、遊戲動畫、特殊效果和專業工具等多樣的應用場景。文章還通過示例代碼展示瞭如何創建自繪控件並自定義事件,如何在Avalonia框架內定義和註冊自定義事件,以及如何處理UI的繪製和用戶交互。

C#實現的下拉多選框,下拉多選樹,多級節點

https://www.cnblogs.com/zhenzaizai/p/18120526

本文介紹了一個基於Telerik控件封裝的下拉多選框和下拉多選樹控件。開發者需要引用Telerik相關的dll庫來使用該控件。控件支持父節點和子節點選擇,代碼中還提供了控件的樣式定製功能,包括背景色、邊框色和箭頭按鈕顏色等。

掌握 xUnit 單元測試中的 Mock 與 Stub 實戰

https://www.cnblogs.com/ruipeng/p/18130083

本章介紹了在單元測試中模擬對象的概念,強調了Fake、Stub與Mock之間的區別。Fake是一個泛稱,可以是Stub或Mock;Stub用於替代依賴項提供固定行爲,而Mock則用於驗證代碼行爲確保按預期執行。同時,啓動了一個引入EFCore倉儲模式的WebApi Controller實戰項目,用於後續章節演示。

【譯】新的 MSBuild 編輯體驗

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

爲了讓.NET開發人員更好地理解和編輯MSBuild項目文件,發佈了一個實驗性的MSBuild編輯器。這個編輯器對MSBuild文件中的XML元素、屬性、項和元數據提供了快速信息和深入鏈接,並支持智能感知、跳轉到定義、查找引用等功能。編輯器還包含了針對NuGet包、語言文化等的特殊支持,能及時發現問題並提供了類型系統驗證。MSBuild編輯器支持自定義schema,使得NuGet包作者可以爲用戶提供更好的編輯體驗。這款編輯器目前只支持Visual Studio,但正在開展工作以支持Visual Studio Code。

Avalonia中的佈局

https://www.cnblogs.com/chenyishi/p/18128275

Avalonia是一個支持C#和XAML開發桌面應用的跨平臺.NET UI框架。其中,Alignment決定元素在Panel內的對齊方式,Margin控制元素間的外距離,Padding調整元素內部間隔。通過這些屬性和Panel,可以創建複雜界面。例如StackPanel內部的按鈕通過Margin和Padding設置間隔,HorizontalAlignment調整對齊。常用Panel包括StackPanel、DockPanel等,它們有特定的佈局特點,如Grid Panel用於表格佈局,其中子元素可通過Grid.SetRow和Grid.SetColumn進行定位。

Visual Studio 2022插件的安裝及使用 - 編程手把手系列文章

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

文章介紹瞭如何在Visual Studio 2022中安裝及使用CodeMaid插件,該插件用於代碼格式化和處理。作者介紹了打開擴展窗口、查找和管理擴展,重點講述了CodeMaid的配置和使用方法,還提供了自己的配置文件供讀者下載。使用CodeMaid時,可以通過快捷鍵Ctrl+S保存代碼文本時自動格式化處理,也可以對全部文件進行一次性處理。最後,作者預告了後續會有C#的Dll程序集類庫編程的教程。

.NET 9 預覽版 3 發佈

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

.NET 9預覽版3發佈,帶來多項性能和功能提升。主要改進包括TimeSpan.From新重載、PersistableAssemblyBuilder類支持運行時生成程序集、異常處理優化等。更新還包括內聯性能提升、終端記錄器改進。除了.NET核心組件更新,其他領域如.NET數據、EF Core、.NET MAUI和ASP.NET Core也有所增強。用戶可通過安裝.NET 9 SDK和相應的開發工具來體驗這些新特性。詳細信息和安裝包可在GitHub上找到。

學習Source Generators之瞭解Source Generators的應用場景

https://www.cnblogs.com/fanshaoO/p/18130928

本文介紹了.NET生態系統中Source Generators的多種應用場景,包括自動代碼生成、元數據處理、性能優化、支持DSL、代碼分析驗證和跨語言交互。Source Generators可以在編譯時根據源代碼生成額外代碼,減少重複代碼工作,避免運行時開銷,提高性能和可維護性。文章推薦了一個用於學習的倉庫。

TensorRT C# API 項目更新 (1):支持動態Bath輸入模型推理

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

NVIDIA® TensorRT™ 是一款支持高效深度學習推理的 SDK,基於 NVIDIA CUDA® 技術,可以在 NVIDIA GPU 上運行且顯著提高執行速度。TensorRT 兼容多種框架,通過量化和模型優化降低延遲,增強了對動態輸入模型的支持。目前它提供了 C++ 和 Python 接口,而爲了實現在 C# 中調用 TensorRT,開發了 C# API,並在最新的 2.0 版本中解決了數據傳輸問題,提高了使用便捷性和功能性。項目和應用源碼已在 Github 上提供。

Redis Stack功能介紹及redis-om-dotnet使用示例

https://www.cnblogs.com/yswenli/p/18129891

Redis Stack是一套產品,目的是簡化開發人員使用Redis及其模塊的體驗。它包含Redis Stack Server、RedisInsight工具和各種語言的Redis Stack Client SDK。這些組件使得開發者能夠更有效地構建基於Redis的應用程序。Redis Stack服務器集成了多個模塊並支持Redis 6.2及Redis 7.0版本。開發者可以輕鬆地下載、安裝並遷移現有數據到Redis Stack。它的各個組件都有其對應的開源許可,不會取代開源Redis,而是爲其增加更多功能。

【譯】使用最新預覽版查看您的拉請求註釋

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

Visual Studio 17.10預覽版2新推出了直接在工作文件中查看GitHub和Azure DevOps拉取請求註釋的功能。開發者可以在17.10預覽2或更高版本中登錄GitHub或Azure DevOps帳戶,並開啓Pull Request Comments功能體驗。使用時,用戶查看活動文件中的註釋並進行導航,但不能查看已刪除的文件或不受支持的文件類型。目前存在文中提及用戶名顯示爲id的錯誤。微軟尋求反饋以優化此功能,計劃增加如在diff視圖中查看註釋等功能。鼓勵開發者通過開發者社區提供反饋。

.NET Emit 入門教程:第六部分:IL 指令:6:詳解 ILGenerator 指令方法:方法調用指令

https://www.cnblogs.com/cyq1162/p/18113161

本文介紹了.NET中的方法調用指令,重點解釋了Call和Callvirt指令的用途和區別,並討論了Calli指令在委託調用中的應用。文章詳述了這些指令在動態代碼生成、AOP等方面的應用,幫助讀者深入理解.NET平臺的方法調用機制,並加強對ILGenerator的使用熟練度。

【譯】Visual Studio 中的 GitHub Copilot:2023年回顧

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

Visual Studio通過集成GitHub Copilot,利用AI技術幫助開發者提高工作效率,管理代碼庫,分析異常,生成代碼註釋等。新功能包括內聯聊天視圖、斜槓命令提示意圖、上下文變量優化作用域、分析修復測試失敗和異常、自動見解分析工具、重命名建議、生成提交信息及斷點表達式的智能感知等,尤其針對C#代碼提供強化支持。這些特性可在Visual Studio 17.9及以上版本體驗,旨在提高編碼效率,簡化開發流程。

創建型模式-設計模式

https://www.cnblogs.com/afei-24/p/18081931

創建型設計模式強調對象實例化的靈活性,通過封裝類的信息和隱藏實例化細節來提高系統與具體類的獨立性。這些模式可以是靜態或動態配置,有時它們彼此競爭有時互補。文章通過迷宮構建示例解釋了創建型模式,介紹了迷宮的基本組成和代碼實現,並通過定義MazeGame類展示了一個創建迷宮的方法。

【譯】如何在 Visual Studio 中安裝 GitHub Copilot

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

GitHub Copilot是一個用AI幫助編程的工具,能在多種語言和框架中工作,並可學習用戶代碼和偏好。在Visual Studio中使用GitHub Copilot前需要GitHub賬戶、GitHub Copilot訂閱和Visual Studio 2022 17.6或以上版本。安裝包括下載擴展、運行安裝程序、登錄GitHub賬戶等步驟。GitHub Copilot用於代碼補全,而GitHub Copilot Chat用於通過聊天界面解答編碼問題。兩者均提升開發效率但通過不同方式互動。

gRPC入門學習之旅(六)

https://www.cnblogs.com/chillsrc/p/18132594

本文介紹瞭如何在Visual Studio 2022中創建gRPC服務,並實現了客戶端對gRPC服務的https和http調用。內容詳細解釋了使用Demo.Grpc.Cmd項目和Demo.GrpcService項目,通過生成gRPC類文件及編碼方式來啓動和調用服務端,詳細展示瞭如何配置和運行gRPC環境,以實現客戶端和服務端的交互。

Godot UI線程,Task異步和消息彈窗通知

https://www.cnblogs.com/gclove2000/p/18130874

本文介紹了在Godot環境下如何處理全局消息、線程安全和IOC注入,並展示瞭如何進行消息窗口的搭建及最簡單的消息提示功能的實現。文章中提及了Godot的UI線程限制和通過C#工程化開發解決方案,以及通過使用ColorRect和VBoxContainer節點來創建UI元素,並且演示瞭如何通過複製節點來快速加載多個相同的UI組件。

主題

.NET 9 預覽 3 · dotnet/core · 討論 #9271

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

.NET 9 Preview 3 已發佈。

此版本向 TimeSpan.From* 添加了重載,添加 PersistableAssemblyBuilder 來存儲動態生成的程序集,加快異常處理速度,內聯共享泛型的運行時查找,並支持終端記錄器(“dotnet”命令),這包括(輸出)的可用性增強。

其他更改包括對 ML.NET Tokenizer 的增強以及始終使用 ActivatorUtilities.CreateInstance 的 ActivatorUtilitiesConstructor 屬性。

.NET 2024 年 4 月更新 – .NET 8.0.4、7.0.18、.NET 6.0.29 - .NET 博客

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

.NET 8.0.4、7.0.18、6.0.29 發佈。

此版本是 2024 年 4 月的更新,包含多個錯誤修復以及 WPF 中權限提升漏洞的修復。

ReSharper 2024.1:改進了集合、集合表達式和一次性資源的處理、新的程序集差異工具窗口等 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/04/09/resharper-2024-1/

ReSharper 2024.1 已發佈。

此版本包括改進對集合表達式的支持、解析集合更改、生成格式化成員(例如“ISpanFormattable”)、改進對異步方法中 Disposable 的支持、改進對 Razor 的支持以及用於解決方案範圍分析的高資源利用率模式、速度。重構的改進等等。

其他更改包括添加程序集差異視圖以及使 SALIF 成爲命令行工具的默認輸出格式。

Rider 2024.1:更好的調試、性能監控和遊戲開發體驗 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/04/09/rider-2024-1/

Rider 2024.1 已發佈。

此版本添加了監視工具窗口,以在調試時顯示內存使用情況和 CPU 使用情況、集合可視化工具、步驟時間顯示、Blazor WebAssembly 的熱重載、編輯器中的凍結行顯示、新更新的項目對話框,包含類似於 ReSharper 的增強的 C# 支持。

其他變化包括對 Unity 的 Odin Inspector、.NET Aspire 插件的支持以及 AI 助手的分拆。

dotCover、dotMemory、dotPeek 和 dotTrace 2024.1 已推出!

https://blog.jetbrains.com/dotnet/2024/04/09/dotnet-tools-241-release/

dotCover、dotMemory、dotPeek、dotTrace 2024.1 已發佈。

  • dotMemory 2024.1
    • 桌面MAUI應用程序支持
    • 支持凍結對象堆 (FOH)
    • Linux 和 macOS 上的新視圖(類似的保留、Sunburst 對話框)
    • 在 macOS 上指定應用程序包 .app 而不是可執行文件的選項
    • 使用 JetBrains Rider 在 macOS 運行配置中進行分析。支持的框架:net7.0-macosnet8.0-macos
  • dotTrace 2024.1
    • 桌面MAUI應用程序支持
    • UI預設(特定應用程序的UI顯示配置)
    • 在 macOS 上指定應用程序包“.app”而不是可執行文件的選項
    • 使用 JetBrains Rider 在 macOS 運行配置中進行分析。支持的框架:net7.0-macosnet8.0-macosnet7.0-maccatalystnet8.0-maccatalystXamarin.Mac
  • dotCover 2024.1
    • MAUI覆蓋率分析(僅適用於.NET 7或更高版本的WinUI桌面應用程序)
    • 改進了代碼覆蓋率突出顯示
  • dotPeek 2024.1
    • 新的獨立裝配差異工具窗口
    • 支持WebAssembly中的WebCIL包格式

版本 1.5.2 - Windows 應用程序 SDK 的穩定通道發行說明 - Windows 應用程序

https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#version-152-15240404000

Windows App SDK 1.5.2 已發佈。

此版本包含多個錯誤修復並添加了與小部件相關的 API。

.NET Aspire 預覽版 5 - .NET Aspire

https://learn.microsoft.com/ja-jp/dotnet/aspire/whats-new/preview-5

.NET Aspire 預覽版 5 已發佈。

此版本包括包拆分、各種 API 更改、儀表板改進、從 Visual Studio Code C# DevKit 啓動、對 Azure 事件中心、NATS 和 Seq 等組件的支持、增強的 Azure 支持以及添加的 AWS 支持。

MSTest SDK 簡介 - 改進的配置和靈活性 - .NET 博客

https://devblogs.microsoft.com/dotnet/introducing-mstest-sdk/

關於基於 MSBuild Project SDK 的 MSTest SDK 的公告。

提供包含 MSTest 必要配置的項目 SDK 提供默認值並簡化使用。

宣佈 pl/dotnet 版本 0.99(測試版)

https://www.postgresql.org/about/news/announcing-pldotnet-version-099-beta-2838/

pl/dotnet 0.99(測試版)已發佈。

pl/dotnet 是一種向 PostgreSQL 添加 C#/F# 支持的機制,允許您在 .NET 中編寫函數和過程。根據基準測試,C#/F# 是最快的過程語言 (PL/*)。提供 PostgreSQL 許可證。

文章、幻燈片等

使用 Dev Proxy 在 .NET 中構建和測試彈性應用程序 - .NET 博客

https://devblogs.microsoft.com/dotnet/build-test-resilient-apps-dotnet-dev-proxy/

介紹如何使用Dev Proxy模擬開發調用外部API時出現性能下降、錯誤、速率限制等問題。

如何在 Visual Studio 中使用 GitHub Copilot Chat - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/how-to-use-github-copilot-chat-in-visual-studio/

瞭解如何將 GitHub Copilot Chat 與 Visual Studio 結合使用。

本文介紹了使用 Copilot Chat 轉換代碼時的操作和預覽。

探索集合和數據表 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/04/15/exploring-collections-and-datatables/

隆重推出 Rider 2024.1 中內置的集合可視化工具。

它涉及過濾、搜索以及使用新的集合可視化工具以圖表格式顯示等功能。

使用 .NET 8 簡化容器構建和發佈 - .NET 博客

https://devblogs.microsoft.com/dotnet/streamline-container-build-dotnet-8/

如何在 .NET 8 中使用 dotnet 命令構建和發佈容器映像。

這篇文章涵蓋了簡單的用法、更改發行版以及鑿刻/額外的圖像。

如何使用 FakeLogger 測試日誌記錄

https://dev.to/canro91/how-to-test-logging-with-fakelogger-4dgc

如何在 Microsoft.Extensions.Diagnostics.Testing 中使用 FakeLogger 進行測試。

.NET Aspire 儀表板是在本地開發期間可視化 OpenTelemetry 數據的最佳工具

https://anthonysimmon.com/dotnet-aspire-dashboard-best-tool-visualize-opentelemetry-local-dev/

如何在獨立於 .NET Aspire 的本地開發中使用 .NET Aspire 儀表板作爲 OpenTelemetry 的儀表板### 使用 Blazor Web App + ASP.NET Core Identity 中的自定義用戶聲明實現身份驗證和授權
https://zenn.dev/hat_kotap/articles/421e9bc3419aa8

瞭解如何使用 Blazor Web App 和 ASP.NET Core Identity 實現身份驗證和授權。

Entity Framework Core 8 中對您的應用程序有用的功能

https://dateo-software.de/blog/entity-framework-8

介紹 Entity Framework Core 8 的有用功能。

文章涵蓋原始集合映射、複雜類型、JSON 列和 Sentinel 值。

當輸出超過錯誤日誌時中斷/中斷 Visual Studio 的備忘錄 - Qiita

https://qiita.com/kokeiro001/items/ee6221153ed868f77733

關於輸出錯誤日誌時中斷調試器的想法。文章介紹了Serilog中的一個實現示例。

使用 Renovate 在 .NET 項目中自動更新 NuGet 包版本範圍

https://dev.to/asimmon/automated-nuget-package-version-range-updates-in-net-projects-using-renovate-15il

如果在使用 Renovate 更新 NuGet 包版本時將版本指定爲範圍,該怎麼辦。

分析部署到應用服務的 .NET 應用的響應延遲 - Qiita

https://qiita.com/georgeOsdDev@github/items/166d9ed85c1effc648e8

介紹對部署到 Azure 應用服務的 .NET 應用程序執行性能分析的要點和工具。

使用帶有語義內核的 JSON 模式

https://zenn.dev/microsoft/articles/semantic-kernel-v1-005

如何將 OpenAI API 的 JSON 模式(一種允許您接收 JSON 格式的答案的模式)與語義內核結合使用。

TreatWarningsAsErrors 和 warnnaserror 不一樣

https://dev.to/asimmon/treatwarningsaserrors-and-warnaserror-are-not-the-same-4h9c

關於 .csproj 中的 TreatWarningsAsErrorsdotnet build 中的開關 -warnaserror 之間的區別。

介紹 Visual Studio 中的新 Copilot 體驗 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/introducing-the-new-copilot-experience-in-visual-studio/

介紹 Visual Studio 17.10 Preview 3 中 GitHub Copilot 相關功能的集成。

從 Visual Studio 17.10 開始,GitHub Copilot 和 Copilot Chat 已統一併作爲 Visual Studio 組件的一部分提供。

[C#]在服務器端驗證Android收據的簽名 - Qiita

https://qiita.com/simoyama2323/items/cdbb45031bbef405bd25

如何執行 Google Play 收據驗證。

[C#] RAG 和聊天代碼示例,使用 AOAI 和 Azure AI 搜索以及 Azure.AI.OpenAI 包

https://zenn.dev/jtechjapan_pub/articles/cf284df0a1c693

使用 Azure.AI.OpenAI 與 Azure OpenAI 進行 RAG 和 Azure AI 搜索的聊天示例演練。

嘗試使用 Dapr - 狀態管理版 - Qiita

https://qiita.com/takashiuesaka/items/713499c531095d5687c2

如何在 Dapr 中使用狀態管理服務。

本文還介紹了啓動 Redis 的步驟、如何從 .NET 應用程序使用它以及如何將其與 .NET Aspire 鏈接。

[C#] 如何在 Visual Studio 2022(.NET Framework 2.0 或更高版本)中使用舊版 .NET Framework - Qiita

https://qiita.com/diontools/items/b193ae8394161fc26698

如何在 Visual Studio 2022 中啓用未正式支持的 .NET Framework。

並行開發 Aspire 和 Azure Functions 項目

https://zenn.dev/jtechjapan_pub/articles/d51d86c3105634

關於結合.NET Aspire和Azure Functions的項目開發配置。

注意使用與EF Core中MySQL的UUID_TO_BIN、BIN_TO_UUID相同的格式

https://zenn.dev/hikarin/articles/6964d684573076

如何在Entity Framework Core中將Guid轉換爲MySQL的UUID_TO_BINBIN_TO_UUID

Visual Studio 的新解決方案格式 slnx - kkamegawa 的博客

https://kkamekawa.hatenablog.jp/entry/2024/04/12/051622

關於 Visual Studio 2022 17.0 Preview 3 中添加的新的基於 XML 的解決方案格式 .slnx。

活動

會議目錄 | Microsoft Build | 2024 年 5 月 21 日至 23 日 | 西雅圖

https://build.microsoft.com/en-US/sessions

Microsoft Build 的會議將於 5 月 21 日舉行。

與 Stephen Toub 一起深入探討 LINQ

https://www.youtube.com/watch?v=xKr96nIyCFM

Scott Hanselman 和 Stephan Toub 解釋了 LINQ 實現。

讓我們學習 .NET:容器(日語)

https://www.youtube.com/watch?v=PFUy3W-FeAY

網站、文檔等

推文

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

image-20240424211638903

版權聲明

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

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