https://www.cnblogs.com/savorboard/p/cap-7-0.html)
今天,我們很高興宣佈 CAP 釋出 7.0 版本正式版,我們在這個版本中帶來了大批新特性以及對效能的優化和改進。
本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通過本文解釋了他是如何將序列化程式效能提升到極致的;其中從很多方面(可變長度、字串、集合等)解釋了一些效能優化的技巧,值得每一個開發人員學習,特別是框架的開發人員的學習,一定能讓大家獲益匪淺。
https://www.cnblogs.com/huangxincheng/p/16945067.html
這周有個朋友找到我,說他的程式出現了記憶體緩慢增長,沒有回頭的趨勢,讓我幫忙看下到底怎麼回事,據朋友說這個問題已經困擾他快一週了,還是沒能找到最終的問題,看樣子這個問題比較刁鑽,不管怎麼說,先祭出 WinDbg。
https://www.cnblogs.com/zhenlei520/p/16945150.html
本文介紹了什麼是領域驅動設計,另外如何通過MasaFramework實現領域驅動設計。
https://mp.weixin.qq.com/s/reWHEi-LxPqh6JCoORke8A
.NET 20 週年, 在國內有一大批和 .NET 一起成長的開發者,有一大批在不同行業採用 .NET 作為解決方案的企業。或者你會經常聽到很多的大神說他的 .NET 經歷,也會聽到 .NET 「牛逼」 的故事,更會聽到用 .NET 不用「996」的神話。但對於一個完整的技術生態,作為一名 .NET"老兵「 應該讓更多的年輕人學習 .NET , 讓更多新的創意通過 .NET 創造。
https://mp.weixin.qq.com/s/062T1v7lcCxW9OwsThDp9A
Unity堅定的擁抱.NET標準生態,正全速向CoreCLR遷移。
https://mp.weixin.qq.com/s/uyj0uiyd4X3qlcfM9AobkQ
你好,這裡是 Dotnet 工具箱,定期分享 Dotnet 有趣,實用的工具和元件,希望對您有用!Notepads 是一個具有簡約設計的現代化輕量級文字編輯器,在 github 上開源,由微軟大佬 Jiaqi Liu 開發。
https://mp.weixin.qq.com/s/FQoU4IPe6bZg96zsIiFfyg
NCC ShardingCore 是一款 EntityFramework Core based 高效能、輕量級、分表分庫、讀寫分離解決方案,具有零依賴、零學習成本、零業務程式碼入侵等特點。ShardingCore 7.0 已於近期釋出。
https://mp.weixin.qq.com/s/80W6Fb2gCdGJaoNp33S3pA
動態編譯庫 Natasha 5.0 於十月份釋出,此次大版本更新帶來了強大的相容性支援,目前 Natasha 已支援 .NET Standard 2.0 及 .NET Core 3.1 以上版本(包括 .NET Framework)了。
https://mp.weixin.qq.com/s/BzWQ1kQWjA9w7qIajhTing
大家好,寶弟今天給大家推薦一套全功能的軟NVR介面平臺AKStream,AKStream是一套全功能的串流媒體管理控制介面平臺。整合GB28181,RTSP,RTMP,HTTP等裝置推拉流控制、PTZ控制、音視訊檔錄製管理、音視訊檔裁剪合併等功能與一體AKStream使用.Net6框架,採用C#語言編寫。
https://mp.weixin.qq.com/s/tZDaW6S9tE7tsnusTYq0xQ
本文將介紹使用.NET開發的一款桌面截圖 OCR 工具,軟體已開源,地址:https://github.com/sangyuxiaowu/Snipping_OCR
https://mp.weixin.qq.com/s/zZ2KkmEXgdK_bhTyXDsl6w
本文介紹了System.Text.Json
返回抽象類集合時無法處理派生類的問題,並給出瞭解決方案。
https://qiita.com/advent-calendar/2022/csharplang
2022年的C#活動日程。
2022年英語圈的C#活動日程。
https://blog.jetbrains.com/dotnet/2022/12/07/rider-2022-3/
Rider 2022.3已經發布。
這篇文章涵蓋了這個版本中的以下主題
https://blog.jetbrains.com/dotnet/2022/12/07/resharper-2022-3/
ReSharper 2022.3已經發布。
這篇文章涵蓋了這個版本中的以下主題
https://blog.jetbrains.com/dotnet/2022/12/07/dotcover-dotmemory-dotpeek-dottrace-2022-3/
dotCover, dotMemory, dotPeek 和 dotTrace 2022.3已經發布。
https://devblogs.microsoft.com/devops/upgrade-of-net-agent-for-azure-pipelines/
宣佈將Azure Pipelines的.NET Agent從.NET Core 3.1升級到.NET 6。
為了支援新的作業系統和架構,並且因為對.NET Core 3.1的支援將於12月13日結束,所以我們將於12月13日推出.NET Core 3.1。
新的代理將分三個階段推出。 第一階段為預覽版,有一個新聞釋出版本可供下載和測試;第二階段為微軟託管的代理池的更新;第三階段為自我託管的代理產品。
這篇文章還包含了關於自我託管池中的更新的說明和常見問題。
https://github.com/icsharpcode/ILSpy/releases/tag/v8.0-preview3
ILSpy 8.0 Preview 3已經發布。
這個版本包括對C# 11必要成員的支援,對Roslyn模式檢測的更新,以及其他錯誤和改進。
https://ikorin2.hatenablog.jp/entry/2022/11/29/201801
文章介紹了一個駭客技術,如果你用CallerArgumentExpression
作為使用InterpolatedStringHandler
的處理程式建構函式的第一個引數,你可以在格式化之前得到字串。
然而,這種行為並不是原來所期望的,可能會被修復。
https://blog.jetbrains.com/dotnet/2022/12/01/improved-startup-performance-in-rider-2022-3/
關於改進Rider 2022.3(現在的EAP)中的啟動效能的文章。
Rider 2022.3在IDE冷啟動、專案載入時間、檔案和組合掃描、垃圾收集和記憶體使用等方面進行了改進。
https://dev.to/canro91/how-to-write-tests-for-httpclient-using-moq-2i9e
關於用Moq為HttpClient呼叫編寫測試的文章。
https://medium.com/@norm.bryar/conveying-context-with-asynclocal-91fa474a5b42
關於用AsyncLocal<T>
實現環境上下文(跨多個函數、元件和任務共用資料)的文章。
https://qiita.com/yaju/items/882e1de76a763e098fce
一篇回顧文章,介紹了2022年關於Visual Basic的事件和文章。
https://zenn.dev/shimat/articles/5b81d6627491ab
文章研究了C#9中引入的記錄型別的位置引數上界。
這篇文章還討論了JSON序列化器中的上限。
https://qiita.com/RyotaMurohoshi/items/71a84fe7a5cf8df57054
文章介紹了在.NET 7中為LINQ新增的Order
和OrderDescending
方法。
關於正規表示式回溯導致的ReDoS漏洞的文章。
它描述了各種正規表示式模式及其執行時間,並介紹了避免災難性回溯的方法。
https://qiita.com/haruka_kotani/items/6f470579b86b005c6cb9
一篇簡要介紹C# 11新特性的文章:原始字串字面、換行字串完成、UTF-8字串字面、必要成員和檔案本地型別。
https://zenn.dev/dynamitecoolguy/articles/17612f6624da4d
關於如何在Windows的Rider上使用WSL容器構建ASP.NET Core開發環境的文章。
https://www.theregister.com/AMP/2022/12/01/net_open_source_heavily_underfunded/
關於AWS對開源的投資的文章。
https://blog.azure.moe/2022/12/03/visual-studio-2022-の-intellicode-の入力候補の適用キーを変えたい/
關於如何從Tab鍵改變IntelliCode(所謂的AI程式碼完成)的確認的文章。
它說你可以在Visual Studio中改變設定,用→(右方向鍵)確認(你不能把它改為任何鍵)。
https://ufcpp.net/blog/2022/12/rawstringwhitespace/
關於C# 11對原始字串字元中空白的處理的文章。
它解釋了各種空白字元以及在縮排中如何處理它們。
https://blog.jetbrains.com/dotnet/2022/12/05/net-annotated-monthly-december-2022/
jetbrains公司於2022年12月組合了與.NET有關的資訊。
https://ufcpp.net/blog/2022/12/stackalloc-natural-type/
一篇關於stackalloc確定的自然型別如何根據描述方式而變化的文章,作為確定變數型別時的一種推論。
例如,var a = stackalloc byte[10];
會有型別指標(byte*
),但var a = (stackalloc byte[10]);
會有Span<byte>
。
https://devblogs.microsoft.com/dotnet/whats-new-in-the-dotnet-maui-community-toolkit/
關於.NET MAUI社群工具包的新功能的文章。
文章解釋了新增加的元件和平臺支援,以及已釋出版本(1.4.0、2.0.0和3.0.0)之間的差異。
文章提供了關於ESLint支援的背景,這是Visual Studio 2022 17.4中的新內容。
這篇文章描述了由vscode-eslint啟發的LSP擴充套件,包括啟用服務的過程。
https://devblogs.microsoft.com/dotnet/custom-controls-for-winforms-out-of-process-designer/
這篇文章解釋瞭如何在WinForms的.NET Core及以上版本的程序外設計器中支援自定義控制元件,該設計器在Visual Studio中使用。 它展示瞭如何通過一個範例專案進行遷移。
https://codewithmukesh.com/blog/amazon-cloudwatch-logging-serilog-dotnet/
文章描述瞭如何使用Serilog從ASP.NET Core(M.E.L.ILogger
)到Amazon Cloudwatch的紀錄檔。
https://anthonygiretti.com/2022/12/04/introducing-c11-newlines-in-string-interpolation-expressions/
關於C#11如何允許在字串插補括號中使用換行符的文章。
https://zenn.dev/shimat/articles/03ad92427cbed6
文章介紹了使用GitHub Actions從拉動請求構建時如何測量程式碼覆蓋率,以及如何在評論中留下報告。
https://qiita.com/fukasawah/items/c42b586745be56fed674
關於如何使TimeZoneInfo.Local
返回一個UTC的值,忽略系統時區的文章。
文章介紹瞭如何通過強行用反思代替來處理這個問題,以及嘗試的原因。
https://qiita.com/kaorumori/items/d6d68987b8468f8f6b32
文章介紹了計劃在.NET 8中用WebAssembly瀏覽器應用程式(不是Blazor)執行Blazor WebAssembly的多執行緒功能的步驟,作為.NET 7的實驗性功能。
這篇文章證實了在實際負載下使用多個核心。
https://qiita.com/MAUIHighSchool/items/1ffcfa508342fc250757
關於如何在Windows上直接從Visual Studio部署和偵錯iOS應用程式的文章。
文章展示了使用C# 11特性並使該程式碼在.NET Fiddle中可執行的例子。
https://maciejz.dev/processing-data-in-parallel-channels/
文章展示瞭如何使用System.Threading.Channels實現並行處理資料的程式碼。
https://jason-ge.medium.com/detect-and-remove-dead-code-with-roslyn-26e741b20d3c
關於如何使用Roslyn來檢測和刪除死程式碼(未使用的型別)的文章。
https://medium.com/@tema.denisoff/how-to-use-swiftui-components-in-maui-f43c54d2173c
關於如何在.NET MAUI中使用Swift UI元件的文章。
包括如何為Swift UI建立和使用UIKit包裝器。
https://medium.com/@tema.denisoff/functional-maui-control-based-on-swiftui-view-e23135d1f2bc
關於如何從.NET MAUI以功能性方式實現SwiftUI元件的文章,包括屬性繫結等。
https://qiita.com/denkiuo604/items/87345ce8031640b37e7a
本文討論了C#中空凝聚運運算元(??
)的優先順序和繫結規則。 以及在C#中的優先順序和連線規則。
https://zenn.dev/pcysl5edgo/articles/d3e787599c5c8b
與.NET 6相比,在C#中編寫利用SIMD的程式碼更容易,因為不再需要fixed
,也不再需要在x64和ARM64之間進行分支。
https://dev.classmethod.jp/articles/net-annotations-lambda-framework/
通過AWS預覽版中的.NET註釋Lambda框架,在.NET中實現無伺服器API(Lambda+API閘道器)。
幻燈片展示瞭如何在實現名為MemoryPack的快速序列化器的獨創性基礎上,對C# 11的語言特性、Source Generator和.NET庫進行現代利用。
https://www.teamdev.com/dotnetbrowser
一個基於Chromium的商業元件庫,用於WPF和Windows Forms中的嵌入式瀏覽器(所謂的WebView)。
它與CefSharp的不同之處在於,它有一個託管模式(與CefSharp相比,它在一個更外部的程序中執行),並且可以輕鬆地啟用視訊支援。
https://github.com/featbit/featbit
用於管理特徵標誌的應用伺服器。
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.DeveloperNews
一個實驗性的擴充套件,在Visual Studio中帶回了開發者的新聞。
ASP.NET的一個框架,用於實現所謂的Request-Endpoint-Response(REPR)模式,取代了Minimal API和MVC。
https://github.com/maraf/dotnet-wasm-react
從React元件處理.NET WebAssembly的範例程式碼。
https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets
一個允許你在Visual Studio Code內擁有寵物的擴充套件。 呼叫mod
寵物將帶來dotnet-bot(紫色的那個)。
https://twitter.com/dotnetonAWS/status/1533841159436611587
https://pages.awscloud.com/dotNETOpenSourceOnAWSCreditsProgram.html
亞馬遜為.NET開源專案提供AWS積分和資金的支援,目前以資助如FluentValidation等專案。
在這裡,我們要向大家介紹的是".NET Conf 2022 "的視訊,以及一張關於該內容的筆記思維導圖,目前還是日文版。
https://twitter.com/jsakamoto/status/1597555960951631872?s=12&t=yjMpM4TnEEFCnbK7AUbr1A
Xamarin.Forms的MessageCentre已被廢棄,因此建議使用.NET Community Toolkit的WeekReferenceMessenger。
https://twitter.com/JamesMontemagno/status/1599101553813880839
討論C#語言設計和工作組會議記錄的可用性。
https://twitter.com/davidfowl/status/1600001951970000896
WebApplicationBuilder
給予ASPNET_
字首的環境變數較低的優先權 - 問題#498 - aspnet/Announcementshttps://github.com/aspnet/Announcements/issues/498
在.NET 7之前的ASP.NET Core中,ASPNET_
字首的環境變數衍生設定覆蓋了命令列引數和DOTNET_
字首值,但在.NET 7及以後的版本中,用ASPNET_
字首指定不能使用命令列引數和 一個破壞性的改變,即帶有 DOTNET_
字首的規範取代帶有命令列引數或 DOTNET_
字首的規範。
https://developercommunity.visualstudio.com/t/VS2022-Search-results-on-Nuget/10163787
Visual Studio 2022的NuGet管理介面中的一個bug,即搜尋後稍微卷動一下可能就看不到第一個結果了。
由於筆者沒有那麼多時間對國內的一些文章進行整理,歡迎大家為《.NET週報-國內文章》板塊進行貢獻,需要推廣自己的文章或者框架、開源專案可以下方的專案地址提交Issue或者在我的微信公眾號私信。
格式如下:
https://github.com/InCerryGit/.NET-Weekly
相信大家在開發中經常會遇到一些效能問題,苦於沒有有效的工具去發現效能瓶頸,或者是發現瓶頸以後不知道該如何優化。之前一直有讀者朋友詢問有沒有技術交流群,但是由於各種原因一直都沒建立,現在很高興的在這裡宣佈,我建立了一個專門交流.NET效能優化經驗的群組,主題包括但不限於:
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET效能問題和寶貴的效能分析優化經驗。由於已經達到200人,可以加我微信,我拉你進群: ls1075