.NET周刊 【12月第3期 2023-12-24】
國內(nèi)文章
CAP 8.0 版本發(fā)布通告 - CAP 7歲生日快樂!
https://www.cnblogs.com/savorboard/p/cap-8-0.html
今天宣布CAP 8.0版本正式發(fā)布,恰逢項目七周年及作者生日。七年間,CAP共發(fā)布61個版本,在GitHub獲得6.3K星標(biāo),有108名貢獻者,核心包在NuGet上的下載量達640萬次。CAP是一種分布式事務(wù)解決方案,通過本地消息表保證數(shù)據(jù)安全,同時可作為EventBus使用。8.0版本主要更新包括全面支持.NET 8,優(yōu)化Dashboard認證授權(quán),新增配置項以自定義回溯時間窗,改進消費者預(yù)取和分組調(diào)度配置項的協(xié)同工作,NATS支持配置DeliverPolicy,默認為New。此外,修復(fù)了多個BUG,包括消息無限重試、Open Telemetry上下文丟失等問題。破壞性改動包括移除Dashboard中的某些配置項。更多信息請查看官方文檔。
EF Core助力信創(chuàng)國產(chǎn)數(shù)據(jù)庫
https://www.cnblogs.com/CreateMyself/p/17900180.html
本文討論了國產(chǎn)數(shù)據(jù)庫的發(fā)展,特別是人大金倉和華為高斯數(shù)據(jù)庫,它們都基于PostgreSQL。作者在工作之余將EF Core適配到這些數(shù)據(jù)庫并開源,以便社區(qū)共同改進。目前已支持人大金倉EF Core 6.x和華為高斯EF Core 8.0,未來計劃支持更多版本。作者鼓勵社區(qū)貢獻而非僅提問題,并強調(diào)在處理問題時需要具體的代碼示例。
.NET中如何實現(xiàn)高精度定時器
https://www.cnblogs.com/czwy/p/17915333.html
本文探討了在.NET中實現(xiàn)高精度定時器的方法。首先介紹了定時器的三個核心功能:計時、等待和觸發(fā)模式,并解釋了如何使用Windows系統(tǒng)的API和.NET類來獲取高精度時間戳。文章詳細討論了兩種等待策略:自旋等待和阻塞等待,以及如何通過系統(tǒng)API調(diào)整Windows的計時器精度。最后,提到了多媒體定時器timeSetEvent作為實現(xiàn)高精度定時器的一種方法,盡管它已被官方標(biāo)記為過時,但在精度和穩(wěn)定性方面仍優(yōu)于其他方法。
用C#也能做機器學(xué)習(xí)?
https://www.cnblogs.com/mingupupu/p/17918738.html
本文介紹了如何在C#中使用ML.NET進行機器學(xué)習(xí),特別是通過ML.NET Model Builder構(gòu)建貓狗識別模型。ML.NET是一個適合.NET開發(fā)者的免費、開源機器學(xué)習(xí)框架,支持C#或F#語言。Model Builder提供了一個直觀的界面,使得在Visual Studio中生成、訓(xùn)練和部署機器學(xué)習(xí)模型變得簡單,無需深厚的機器學(xué)習(xí)背景。它還支持AutoML自動選擇最佳算法和設(shè)置。Model Builder作為Visual Studio擴展,使.NET開發(fā)者能夠在熟悉的環(huán)境中工作,無需依賴云資源或其他服務(wù)。
一款基于.NET Core的快速開發(fā)框架、支持多種前端UI、內(nèi)置代碼生成器
https://www.cnblogs.com/Can-daydayup/p/17922742.html
本文介紹了WalkingTec.Mvvm(簡稱WTM),這是一個基于.NET Core的開源快速開發(fā)框架,支持多種前端UI,具備代碼生成器,旨在提升開發(fā)效率。WTM支持前后端分離,降低溝通成本,內(nèi)置了用戶、角色、權(quán)限等管理功能,支持單點登錄和分布式數(shù)據(jù)庫。技術(shù)棧包括LayUI、React、VUE、Blazor等前端技術(shù),以及.NET Core、EF Core、Redis等后端技術(shù)。數(shù)據(jù)庫支持MySql、Sql Server、PostgreSQL。WTM的源代碼和文檔可在GitHub查看,項目已被收錄為C#/.NET/.NET Core優(yōu)秀項目。DotNetGuide技術(shù)社區(qū)提供.NET相關(guān)資源和交流平臺,鼓勵開發(fā)者分享經(jīng)驗和技術(shù)問題。
簡便實用:在 ASP.NET Core 中實現(xiàn) PDF 的加載與顯示
https://www.cnblogs.com/powertoolsteam/p/17911303.html
本文講述了如何在ASP.NET Core中加載和顯示PDF文件。首先,使用Visual Studio創(chuàng)建ASP.NET Core Web應(yīng)用程序,并選擇.NET Core 6.0作為目標(biāo)框架。然后,安裝GrapeCity.Documents.Pdf依賴包。接著,在Index.cshtml.cs頁面中定義服務(wù)器端代碼生成PDF文件,包括添加圖片、文本格式設(shè)置、添加標(biāo)題和項目列表。最后,將生成的PDF文件保存到Web根目錄。文中提供了詳細的代碼示例和最終效果的截圖。
Semantic Kernel 正式發(fā)布 v1.0.1 版本
https://www.cnblogs.com/shanyou/p/17924196.html
微軟發(fā)布了Semantic Kernel的.NET 1.0.1版本,這是一個開源SDK,結(jié)合了AI服務(wù)和傳統(tǒng)編程語言,如C#和Python,以創(chuàng)建AI應(yīng)用程序。它作為AI編排層,與Microsoft AI模型堆棧和Copilot AI助手配合。新版本提供了文檔,介紹了如何創(chuàng)建能與用戶互動的AI代理,執(zhí)行任務(wù)如自動化流程。文檔還涵蓋了構(gòu)建AI代理的核心組件,如插件、規(guī)劃器和角色。Semantic Kernel現(xiàn)在穩(wěn)定,未來將專注于AI連接器、Memory連接器和Agent抽象。微軟鼓勵社區(qū)參與AI連接器的開發(fā),核心團隊將在假期后審查社區(qū)貢獻。
記一次 .NET 某藥廠業(yè)務(wù)系統(tǒng) CPU爆高分析
https://www.cnblogs.com/huangxincheng/p/17916751.html
本文講述了作者幫助朋友分析程序CPU使用率過高的問題。首先,通過procdump工具抓取dump文件,然后使用Windbg的!tp命令確認CPU利用率為88%。通過!cpuid命令發(fā)現(xiàn)服務(wù)器只有4個CPU核心,性能較弱。進一步分析發(fā)現(xiàn)程序有451個線程,其中443個是后臺線程,多數(shù)線程通過new Thread創(chuàng)建而非線程池。使用~*e !clrstack命令檢查線程棧,發(fā)現(xiàn)大多數(shù)線程在執(zhí)行Thread.SleepInternal。作者最終意識到頻繁的上下文切換可能是導(dǎo)致CPU爆高的原因,特別是在Loop方法中發(fā)現(xiàn)了大量的Sleep(1)調(diào)用。
升訊威在線客服系統(tǒng)的并發(fā)高性能數(shù)據(jù)處理技術(shù):超強的 SignalR
https://www.cnblogs.com/sheng_chao/p/17921167.html
本文介紹了作者在業(yè)余時間開發(fā)的升訊威在線客服系統(tǒng),該系統(tǒng)免費開源且用戶眾多。系統(tǒng)通過客戶的壓力測試,表現(xiàn)出色,無異常掉線,消息實時到達。作者計劃分析系統(tǒng)的高性能并發(fā)技術(shù),首篇聚焦SignalR技術(shù)。SignalR是ASP.NET Core的實時Web功能庫,適用于需要服務(wù)器實時更新的應(yīng)用,如游戲、社交網(wǎng)絡(luò)等。它支持WebSockets、Server-Sent Events和長輪詢等傳輸技術(shù),自動選擇最佳傳輸方法。SignalR使用中心(Hub)進行通信,允許客戶端和服務(wù)器互調(diào)方法,支持JSON和MessagePack協(xié)議。作者還展示了如何在客服系統(tǒng)中創(chuàng)建SignalR中心,配置服務(wù)器,并添加客戶端代碼以實現(xiàn)實時通信。
Net 高級調(diào)試之十四:線程同步的基礎(chǔ)知識和常見的同步原語
https://www.cnblogs.com/PatrickLiu/p/17910805.html
本文是《Net 高級調(diào)試》系列的第十四篇,重點介紹了多線程中鎖的底層實現(xiàn)原理,而非其使用方法和API。文章強調(diào)了對.Net框架底層理解的重要性,有助于更好地進行調(diào)試。調(diào)試環(huán)境包括Windows 10專業(yè)版、Windbg Preview、Visual Studio 2022和.Net Framework 4.8。基礎(chǔ)知識部分講述了線程同步原語,包括C#、CLR和OS層的線程表示,以及不同類型的鎖,如AutoResetEvent、Semaphore、Monitor和ThinLock。最后,文章提供了源碼調(diào)試的具體過程,通過實際代碼來驗證所學(xué)知識。
將Abp默認事件總線改造為分布式事件總線
https://www.cnblogs.com/jevonsflash/p/17917031.html
本文介紹了分布式事件總線的原理和實現(xiàn)。本地事件總線通過Ioc容器和事件訂閱表實現(xiàn)事件的注冊與觸發(fā)。分布式事件總線通過中間件如RabbitMQ、Kafka、Redis轉(zhuǎn)發(fā)事件,與本地事件總線兼容。自動訂閱和事件轉(zhuǎn)發(fā)功能確保本地事件注冊時同時訂閱分布式事件,并在本地事件觸發(fā)時將消息轉(zhuǎn)發(fā)到分布式總線。消費端接收分布式事件消息后,解析類型并觸發(fā)本地事件,由本地事件處理器完成處理。
.NET周刊【12月第2期 2023-12-13】
https://www.cnblogs.com/InCerry/p/dotnet_week_23_12_2.html
本文匯總了.NET領(lǐng)域的多篇文章。首先介紹了使用.Net6的miniapi開發(fā)簡潔API的方法,包括數(shù)據(jù)庫操作和Swagger配置。接著分享了C#/.NET/.NET Core的優(yōu)秀項目和框架,如CAP、ZEQP.WMS和HandyControl,以及.NET平臺下的網(wǎng)絡(luò)爬蟲框架DotnetSpider。此外,C#有望成為2023年度編程語言,TIOBE榜單顯示其增長迅速。文章還分析了博客園頻繁崩潰的原因,探討了SQL Server的性能問題。另外,.NET8的AOT編譯性能優(yōu)化被詳細討論,包括減少可執(zhí)行文件大小和提升性能。還有對.NET內(nèi)存管理術(shù)語的解釋,以及使用.NET 8開發(fā)個人網(wǎng)盤項目的介紹。最后,ML.NET 3.0的發(fā)布強化了深度學(xué)習(xí)和數(shù)據(jù)處理能力。
.NET周刊【12月第1期 2023-12-06】
https://www.cnblogs.com/InCerry/p/dotnet_week_23_12_1.html
本文匯總了多篇關(guān)于.NET和相關(guān)技術(shù)的文章。介紹了openEuler操作系統(tǒng)的多處理器架構(gòu)支持和.NET社區(qū)合作機會;MAUI Blazor應(yīng)用中顯示本地媒體文件的新方法;Visual Studio 2022 17.8版本的性能提升;.NET中六種定時器的使用場景;HtmlAgilityPack庫在.NET中解析HTML的功能;ASP.NET Core Web API中設(shè)置Json響應(yīng)格式的方法;Cron表達式在Unix系統(tǒng)中的應(yīng)用及在.NET中的解析執(zhí)行;VS2022中調(diào)試.Net源碼的配置方法;以及C#中只讀結(jié)構(gòu)體成員可能導(dǎo)致的問題。這些內(nèi)容涵蓋了操作系統(tǒng)支持、開發(fā)工具更新、編程技巧和潛在BUG的警示,對.NET開發(fā)者具有實用價值。
Kernel Memory 入門系列:Kernel Memory Service
https://www.cnblogs.com/xbotter/p/kernel_memory_service.html
本文介紹了Kernel Memory Service,一個GitHub上的項目,提供獨立部署后臺和接口服務(wù)。首先通過Git Clone下載源碼,然后執(zhí)行setup腳本或命令進行初始化,配置項存儲在appsettings.json中。配置完成后,運行run腳本啟動服務(wù),本地運行可通過Swagger頁面訪問。C#用戶可用MemoryWebClient包調(diào)用接口。項目還提供了工具腳本,如啟動Qdrant和RabbitMQ服務(wù),初始化和啟動Kernel Memory Service,上傳文件和提問等功能。
封裝Detours用于Python中x64函數(shù)hook
https://www.cnblogs.com/kanadeblisst/p/17922099.html
本文介紹了微軟的Detours框架,它支持多種處理器架構(gòu),用于實現(xiàn)API hook。文中詳細描述了如何在x64環(huán)境下編譯Detours,包括解決編譯錯誤和生成Debug版本的方法。還提供了使用Detours進行函數(shù)hook的代碼示例,并說明了如何在項目中引入Detours的頭文件和庫文件。最后,作者推薦了使用預(yù)處理器指令在代碼中直接引入庫文件的方式。
Kernel Memory 入門系列:快速開始
https://www.cnblogs.com/xbotter/p/kernel_memory_quick_start.html
本文介紹了如何快速開始使用Kernel Memory,包括通過NuGet安裝包、構(gòu)建內(nèi)存實例、內(nèi)容導(dǎo)入和問答查詢。構(gòu)建時,可配置OpenAI或Azure OpenAI服務(wù),支持自定義文本生成和Embedding模型。內(nèi)容導(dǎo)入支持文件路徑、文件流、文檔集合和URL方式。問答功能通過調(diào)用AskAsync方法實現(xiàn),可獲取答案及相關(guān)文檔信息。
使用代碼生成工具快速開發(fā)應(yīng)用-結(jié)合后端Web API提供接口和前端頁面快速生成,實現(xiàn)通用的業(yè)務(wù)編碼規(guī)則管理
https://www.cnblogs.com/wuhuacong/p/17921357.html
本文介紹了如何使用代碼生成工具Database2Sharp和SqlSugar開發(fā)框架,快速開發(fā)Winform、WPF和Vue3+ElementPlus前端應(yīng)用。通過通用業(yè)務(wù)編碼規(guī)則的管理功能,可以統(tǒng)一生成和維護各種編碼,如訂單號等。文章展示了數(shù)據(jù)庫設(shè)計,后端接口,以及Winform和WPF界面的生成過程。最后,介紹了如何利用生成的Web API控制器和Service層接口,快速實現(xiàn)Vue3前端界面的開發(fā)。
稱重驅(qū)動二次開發(fā)教程
https://www.cnblogs.com/yizhuqing/p/17921902.html
本文介紹了如何通過二次開發(fā)快速集成新的電子秤驅(qū)動到系統(tǒng)。首先,需要了解系統(tǒng)介紹并下載相關(guān)軟件。接著,創(chuàng)建一個控制臺工程,并添加引用DDS.IOT.Weight.exe。然后,新建一個繼承自WeightBase的電子秤類,并實現(xiàn)虛方法。最后,通過后臺任務(wù)模擬電子秤,定時輸出隨機重量。這些步驟可以幫助開發(fā)者快速實現(xiàn)電子秤驅(qū)動的集成。
Blazor入門100天 : 自做一個支持長按事件的按鈕組件
https://www.cnblogs.com/densen2014/p/17915285.html
本文繼續(xù)介紹了博主的系列博客,提供了配套源碼和在線演示demo。文章詳細說明了如何創(chuàng)建一個支持長按功能的Blazor組件,包括設(shè)置長按觸發(fā)的回調(diào)委托、點擊事件處理、判斷是否觸摸設(shè)備等。通過代碼示例,展示了組件的實現(xiàn)過程和功能。
AntDesignBlazor示例——Modal表單
https://www.cnblogs.com/known/p/17923002.html
本文是AntDesign Blazor的入門教程,分享了如何創(chuàng)建和操作Modal表單和Table。首先,介紹了在Weather.razor文件中添加新增按鈕和Modal組件,設(shè)置屬性并綁定事件。接著,創(chuàng)建WeatherForm組件,包含日期、溫度和摘要字段,并在WeatherForecast模型類中添加必填特性。然后,實現(xiàn)了Modal表單的數(shù)據(jù)編輯功能,包括綁定Model對象、保存數(shù)據(jù)的事件處理。最后,教程展示了如何在Table中添加操作列,實現(xiàn)編輯和刪除功能,并在WeatherService類中添加相應(yīng)的方法。教程還提供了示例代碼倉庫鏈接和視頻教程,方便學(xué)習(xí)和參考。
主題
宣布 .NET Aspire 預(yù)覽版 2 - .NET 博客
https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-preview-2/
.NET Aspire Preview 2 已發(fā)布。
它包括各種改進,例如改進儀表板的各種視圖、改進運行容器時的配置自定義以及添加 MySQL 和 MongoDB 等組件。
OpenSilver 2.0 簡介 - OpenSilver
https://opensilver.net/announcements/2-0/
OpenSilver 2.0 已經(jīng)發(fā)布。
此版本包括對 Visual Basic .NET 的支持、與 Blazor、React 和 Angular 的集成、設(shè)計時實時 XAML 預(yù)覽、對高級布局系統(tǒng)的支持、更快的基于 WebView 的模擬器以及各種性能改進。
發(fā)布 WCF 8.0 · dotnet/wcf
https://github.com/dotnet/wcf/releases/tag/v8.0.0-rtm
WCF客戶端8.0已發(fā)布。
除了刪除了接收配置名稱的 API 之外,此版本沒有重大變化,但客戶端支持政策是自發(fā)布之日起提供三年支持(直至 2026 年)。對先前版本 WCF Client 6.0 的支持將于 2024 年 11 月結(jié)束。
版本 2.3.3 · mysql-net/MySqlConnector
https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.3
MySQL Connector for .NET 2.3.3/2.3.2 已發(fā)布。
此版本包括改進的架構(gòu)支持和多個錯誤修復(fù)。
- 版本 2.3.2·mysql-net/MySqlConnector
ReSharper 和 Rider 2023.3.2 – 錯誤修復(fù)已落地! | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/12/20/resharper-and-rider-2023-3-2-bug-fix/
ReSharper / Rider 2023.3.2 已發(fā)布。
此版本修復(fù)了自 2023.3 版本以來 ReSharper 和 Rider 中的各種錯誤。
- [ReSharper 和 Rider 2023.3 的第一組錯誤修復(fù)已在這里! | .NET 工具博客](https://blog.jetbrains.com/dotnet/2023/12/13/rsrp-rd-2023-3 -1-錯誤修復(fù)/)
Win11 主題的 WPFUI 協(xié)作 · dotnet/wpf · 討論 #8533 · GitHub
https://github.com/dotnet/wpf/discussions/8533
宣布與 WPFUI 合作將 Windows 11 Fluent UI 主題引入 WPF。
- WPF UI x WPF 協(xié)作·lepoco/wpfui·討論 #880
我們的代碼覆蓋率工具有哪些新增功能? - .NET 博客
https://devblogs.microsoft.com/dotnet/whats-new-in-our-code-coverage-tooling/
關(guān)于代碼覆蓋率工具(Microsoft.CodeCoverage)的新功能。
支持具有靜態(tài)檢測的所有平臺、支持新的報告格式、引入 dotnet-coverage 命令、自動解決方案合并、性能改進等等。
2023 年降臨節(jié)日歷
- C# 降臨節(jié)日歷
- neue cc - 介紹 .NET 8 使用示例以及 Unity C# 11 與 ZLogger v2 的兼容性
- 使用 UnsafeAccessor 測試私有方法 - Qiita
- 我從 Untiy 啟動 C# 的 IEnumerator - Kako 所做的各種事情
- C# (.NET) 中的最小-最大標(biāo)準(zhǔn)化 - Qiita
- LINQ - Python 備忘單
- 在 Stride 中使用 BepuPhysics 作為物理引擎 - Qiita
- async/await 會繼續(xù)成為你最好的朋友嗎
- 讓我們嘗試使用 USB 攝像頭 - Qiita
- 我嘗試了 AutoML,它允許您在沒有機器學(xué)習(xí)專業(yè)知識的情況下使用 C# + ML.NET 創(chuàng)建高性能 AI - Qiita
- 注意 Mono.Cecil 中的“.s”命令
- 嘗試使用 Microsoft.Extensions.ObjectPool
- 使用 C# 創(chuàng)建。關(guān)于嵌入式GUI應(yīng)用程序通信方法-Qiita
- 用通用樹做類似可變長度結(jié)構(gòu)的事情 ?? - Qiita
- EF Core 查詢表達式 - Qiita
- mex 庫封裝 - Qiita
- C# 中的 OpenTelemetry 入門
- Blazor 降臨節(jié)日歷
- “我嘗試使用 Blazor 表達網(wǎng)絡(luò)游戲等中常見的“長按按鈕”的 UI - Qiita
- 我想讓塑料模型照片閃閃發(fā)光 x Blazor WebAssembly x OpenCV - koudenpa 的博客
- 使使用 Blazor WebAssembly 創(chuàng)建的 Web 應(yīng)用程序“snow catch”游戲能夠通過???語音命令(語音識別)進行操作 - Qiita
- 遷移到 .NET 8 自動渲染模式后,Blazor WebAssembly 應(yīng)用程序無法處理 InvalidOperationException - Qiita
- 我也想在 Blazor 上進行視圖轉(zhuǎn)換 - Qiita
- 使用 .NET 8 的新渲染模式 - Qiita,在 Blazor 服務(wù)器中的范圍服務(wù)中保存狀態(tài)可能會很危險
- 在 Blazor 應(yīng)用中應(yīng)對 2 年無人看管的代碼警告 - Qiita
- Blazor - 如何判斷它是在服務(wù)器上還是在瀏覽器中運行 - Qiita
- .NET 8 自動渲染模式下的 Blazor 可能無法在 WebAssembly 模式下工作,即使已下載 .wasm - Qiita
- 使用輕量級且功能強大的 HAVIT Blazor 進行 Blazor 開發(fā) - Qiita
- [修訂]如何在 Blazor 中對單選按鈕輸入元素進行雙向數(shù)據(jù)綁定 - Qiita
- 其他的
- 利用C#和YouTube API調(diào)查VTuber分布趨勢-Qiita
- [C#]使用異步調(diào)用 CPU 綁定進程時,線程不會分布
- 在C# + xUnit項目中以報告形式輸出單元測試結(jié)果和測試覆蓋率。 - Qiita
- 使用SQL CLR和CData ADO.NET Provider直接從SQL Server訪問kintone - Qiita
- 使用 Roslyn API 獲取字段和屬性類型和名稱 - Qiita
- [C#] 我嘗試實現(xiàn)就地合并排序
- 使用 Roslyn API 僅獲取第一行摘要標(biāo)簽注釋 - Qiita## 文章、幻燈片等
使用 actix-web 托管 Blazor WebAssembly - Qiita
https://qiita.com/TellMin/items/9e7f1e576a195103aa92
了解如何使用 Rust 的 actix-web 框架托管 Blazor WebAssembly 應(yīng)用程序。
嘗試過 .NET Aspire - Qiita
https://qiita.com/Hydrangeas/items/b87bd39843eee0633cb0
創(chuàng)建.NET Aspire項目并涉及配置、日志記錄等的記錄。
gRPC 管道通信似乎非常適合 .NET 8 中的進程間通信 - Qiita
https://qiita.com/spc_ksudoh/items/760a41a73c825eb70e70
了解使用帶有命名管道的 gRPC 作為進程間通信方法的好處以及如何實現(xiàn)它。
- gRPC 管道通信似乎非常適合 .NET 8 中的進程間通信:第 2 部分如何編寫特定代碼 - Qiita
String.Intern - 使用還是不使用?一個性能問題
https://sergeyteplyakov.github.io/Blog/benchmarking/2023/12/10/Intern_or_Not_Intern.html
關(guān)于String.Intern的性能。文章還提到了使用 NativeAOT 運行時的差異。
一年回顧:慶祝今年的里程碑
https://avaloniaui.net/Blog/a-year-in-recap-celebating-this-years-milestones
Avalonia 的 2023 年回顧文章。
將語義內(nèi)核提示寫入文件
https://zenn.dev/tomokusaba/articles/379d39dc225b88
如何在外部文件中編寫語義內(nèi)核中使用的提示并調(diào)用它們。
[C#] 推薦給初學(xué)者!使用代碼分析器!
https://zenn.dev/inuinu/articles/c60abf13d5f47a
解釋如何使用分析儀。介紹內(nèi)置分析器,如何抑制分析器,介紹Roslynator等第三方分析器。
宣布 HackTogether:偉大的 .NET 8 黑客獲勝者 - .NET 博客
https://devblogs.microsoft.com/dotnet/great-dotnet-8-hack-winners/
宣布 The Great .NET 8 Hack 活動的獲獎?wù)摺?/p>
- 一般:NASA TechPort 頭條新聞
- 最佳人工智能:Betakads
- 最佳云原生:AI Counselor
模板化語義內(nèi)核提示
https://zenn.dev/tomokusaba/articles/a403d9ec250ec8
如何將提示轉(zhuǎn)換為模板函數(shù)并使用語義內(nèi)核調(diào)用它。
GitHub Codespaces 語義內(nèi)核 v1.0.1 上手版
https://zenn.dev/ymd65536/articles/semantic_kernel_v101_handson
在 GitHub Codespace 和 Azure OpenAI 上運行 Semantic Kernel v1.0.1 的設(shè)置說明。
StronglyTypedId 庫更新 - 簡化、模板化和 CodeFixes:使用強類型實體 ID 避免原始癡迷 - 第 8 部分
https://andrewlock.net/updates-to-the-stronglytypedid-library/
關(guān)于StronglyTypedId庫的重新設(shè)計以及模板的更改等。
在 WSL2 Ubuntu 上安裝 .NET 8.0
https://zenn.dev/yukiko_bass/articles/e6f9f22da5f15e
有關(guān)在 WSL2 上的 Ubuntu 22.04 上安裝 .NET 8 的說明。
命名變得簡單:AI 支持的重命名建議 - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/ai-powered-rename-suggestions/
引入使用 GitHub Copilot 的標(biāo)識符重命名建議功能,該功能在 Visual Studio Preview 中受支持。
在 .NET 8 中將 MudBlazor 與 Blazor Web 應(yīng)用程序結(jié)合使用
https://zenn.dev/tetr4lab/articles/74bd50585434ab
將 MudBlazor(與 .NET 8 不正式兼容)與 .NET 8 Blazor Web 應(yīng)用程序一起使用的說明。
將 OpenAI 圖像生成集成到 .NET 應(yīng)用程序中
https://weblog.west-wind.com/posts/2023/Dec/21/Integrating-OpenAI-image- Generation-into-your-NET-Application介紹如何使用 OpenAI 的 .NET 圖像生成 API 和簡單的包裝器庫。
重新審視 F# 的 WASM
https://dev.to/tunaxor/revisiting-wasm-for-f-38c1
將 F# 與 Blazor WebAssembly 結(jié)合使用時與庫和 JavaScript 的互操作性。
Semantic Kernel1.0.1 正式版,自動選擇Semantic Kernel函數(shù)并返回答案
https://zenn.dev/tomokusaba/articles/e667217a2045cc
如何在Semantic Kernel中實現(xiàn)自定義函數(shù)的自動選擇。
解鎖托管內(nèi)存的秘密:深入了解事件處理程序泄漏!- Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/unlocking-the-secrets-of-management-memory-dive-into-event-handler-leak-insights/
介紹 Visual Studio 17.9 Preview 1 中引入的新內(nèi)存分析功能。
此功能使得可以快速找到事件處理程序中的對象泄漏。
.NET Core 中 Windows 和 Linux 的時區(qū) ID 不同
https://zenn.dev/ynug/articles/dot-net-time-zone
如何處理時區(qū) ID 根據(jù) Windows 和 Linux 等平臺不同而不同的情況。
從.NET 8開始,將LibraryImportAttribute中使用的SafeHandle類型構(gòu)造函數(shù)公開 - 程序系統(tǒng)備忘錄博客
https://tan.hatenadiary.jp/entry/2023/11/23/015139
在 .NET 8 中,用于調(diào)用使用 LibraryImportAttribute 聲明的外部庫的 SafeHandle 類型的構(gòu)造函數(shù)必須是公共的。
本文還解釋了生成的代碼是如何更改的以及更改的原因和必要性。
福岡.NET Conf 2023 - connpass
https://fukuten.connpass.com/event/303390/
.NET Conf 2023 福岡當(dāng)?shù)鼗顒印S?2024 年 2 月 3 日星期六舉行。
Azure SignalR 服務(wù)的 HttpContext 問題
https://dev.to/1kevgriff/httpcontext-issues-with-azure-signalr-service-21d0
Azure SignalR 服務(wù)具有無法使用 HttpContext 的獨特特征,這可能會出現(xiàn)問題。
嘗試 NUnit4 的新異步斷言
https://zenn.dev/tomokusaba/articles/890091dd520f08
NUnit 4 中的異步斷言簡介。
讓我們通過 .NET SDK 使用 Azure OpenAI 服務(wù)的 JSON 模式和工具
https://zenn.dev/microsoft/articles/aoai-tools-jsonmode-in-dotnet
了解如何使用適用于 .NET 的 SDK 中的 Azure OpenAI 服務(wù)的 JSON 模式和工具屬性。
在 .NET 8 上嘗試最新的 React-TypeScript SPA 模板 | Doxel
https://www.docswell.com/s/shosuz/Z4QRL8-2023-11-25-172313
引入在 .NET 8 中結(jié)合了 React 和 ASP.NET Core 的新 SPA 模板。
HTTP/2快速重置概述及對策
https://speakerdeck.com/murachiakira/2-rapid-reset-nogai-yao-todui-ce
HTTP/2 快速重置攻擊的說明。
關(guān)于 .NET 第 8 代 Blazor
https://speakerdeck.com/tomokusaba/dot-net-8shi-dai-noblazornituite
.NET 8 中 Blazor 托管模型更改的簡要說明。
C# 中的 OpenTelemetry 入門
https://speakerdeck.com/nenonaninu/c-number-dehazimeru-opentelemetry
OpenTelmetry 簡介、ASP.NET 中的支持和使用、使用 SignalR 進行跟蹤等。
- C# 中的 OpenTelemetry 入門
.NET Conf 回顧日本/晚會
- GitHub - ufcpp/DotNetConf2023Recap:.NET Conf 2023 Recap Japan“開發(fā)工具的最新更新”- .NET 夜間派對@品川
- .NET 之夜派對@品川現(xiàn)場編碼對決
- .NET Night Party@品川現(xiàn)場編碼對決如果是 IF Blazor Apps 模板會怎樣?
庫、存儲庫、工具等。
GitHub - SwissLife-OSS/snapshooter: Snapshooter 是 .NET Core 和 .NET Framework 的快照測試工具
https://github.com/SwissLife-OSS/snapshooter
.NET 中用于快照測試的庫。
- .NET 中的快照日志測試 | johnnyreilly
GitHub - sator-imaging/docfx-pages: 只需 1 個操作即可將 docfx API 參考部署到 GitHub Pages
https://github.com/sator-imaging/docfx-pages
使用 docfx 將 API 引用發(fā)布到 GitHub Pages 的 GitHub Action。
- docfx + GitHub 頁面劣質(zhì)模板 - Qiita
GitHub - timonkrebs/MemoizR: C# 的聲明式結(jié)構(gòu)化并發(fā)
https://github.com/timonkrebs/MemoizR
- MemoizR - C# 的聲明式結(jié)構(gòu)化并發(fā)
Sekiban - 事件溯源和 CQRS 框架 - 主頁
https://www.sekiban.dev/
使用 Azure Cosmos DB 和 AWS Dynamo DB 的 C# 事件源框架。
- Sekiban - 使用 C# 的事件源和 CQRS 框架它可以將數(shù)據(jù)存儲到 Azure Cosmos DB 或 AWS Dynamo DB
- JTEC Japan Co., Ltd. 發(fā)布 C# 事件溯源框架“Sekiban”作為開源軟件
網(wǎng)站、文檔等
推文
根據(jù)目標(biāo)類型,為集合迭代生成的代碼存在差異。
https://x.com/steplyakov/status/1737524544171384927?s=12
async/await 的歷史故事。
https://x.com/dsymetweets/status/1735396207328162082?s=12
https://x.com/davidfowl/status/1735686682354356690?s=12
您可以使用 DebuggerDisplay 屬性的 Name 屬性來顯示Key而不是索引。
https://x.com/nietras1/status/1736703070401155195?s=12&t=ggvrrZ7oLogHyNoIGNgjbw
嘗試在 NativeAOT 上運行 Mono 解釋器。
https://x.com/filipnavara/status/1734996595349836154?s=12
版權(quán)聲明
- 國內(nèi)板塊由 InCerry 進行整理 : https://github.com/InCerryGit/WeekRef.NET
- 其余內(nèi)容來自 Myuki WeekRef,由InCerry翻譯(已獲得授權(quán)) : https://github.com/mayuki/WeekRef.NET
由于筆者沒有那么多時間對國內(nèi)的一些文章進行整理,歡迎大家為《.NET周刊-國內(nèi)文章》板塊進行貢獻,需要推廣自己的文章或者框架、開源項目可以下方的項目地址提交Issue或者在我的微信公眾號私信。
格式如下:
- 10~50字左右的標(biāo)題
- 對應(yīng)文章或項目網(wǎng)址訪問鏈接
- 200字以內(nèi)的簡介,如果太長會影響閱讀體驗
https://github.com/InCerryGit/.NET-Weekly
.NET性能優(yōu)化交流群
相信大家在開發(fā)中經(jīng)常會遇到一些性能問題,苦于沒有有效的工具去發(fā)現(xiàn)性能瓶頸,或者是發(fā)現(xiàn)瓶頸以后不知道該如何優(yōu)化。之前一直有讀者朋友詢問有沒有技術(shù)交流群,但是由于各種原因一直都沒創(chuàng)建,現(xiàn)在很高興的在這里宣布,我創(chuàng)建了一個專門交流.NET性能優(yōu)化經(jīng)驗的群組,主題包括但不限于:
- 如何找到.NET性能瓶頸,如使用APM、dotnet tools等工具
- .NET框架底層原理的實現(xiàn),如垃圾回收器、JIT等等
- 如何編寫高性能的.NET代碼,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能問題和寶貴的性能分析優(yōu)化經(jīng)驗。目前一群已滿,現(xiàn)在開放二群。
如果提示已經(jīng)達到200人,可以加我微信,我拉你進群: ls1075
另外也創(chuàng)建了QQ群,群號: 687779078,歡迎大家加入。
總結(jié)
以上是生活随笔為你收集整理的.NET周刊 【12月第3期 2023-12-24】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rocketmq学习1——Rocketm
- 下一篇: 确定了-C#是2023年度的编程语言!